Linux下LDAP统一用户验证

我通过iredmail的ldap整合过的应用有:sugarcrm,ejabberd,purefptd,open,Awstats 。这些应用,应该可以很好的说明ldap的整合的各种方式。
需要说明的是:ldap上保持着用户的帐号和密码。
  OU和filter
  一般人,都是希望把需要验证的用户放到一个ou上,让应用去找这个ou下的用户进行验证,不过这样做,一个缺点就是,当一个用户需要启用ftp服务,但是不用samba的服务,怎么办?
  所以对用户进行分类,不建议采用ou这种方式。而是采用类似tag这种方式,通过filter进行过滤。比如这个用户希望启用samba服务,那么我就在这个用户的属性上添加一项samba,通过设置过滤器,就可以把所有需要使用samba服务的用户找出来,而不需要把这些用户放到一个ou里。
  下面的验证,你都可以通过设置filter的方式,灵活验证。
  1:有schema
  如果你希望应用的所有设置,都可以在ldap上进行控制,那么就需要这个应用提供schema,pureftp,就是一个很好的例子。用户的下载速度,上传速度这些设置,都是保存在ldap上,而不是软件的配置文件或者数据库里。
  这种整合,应该是比较理想的,真正实现集中管理。
  2:没有schema,支持ldap验证
  应用本身提供ldap验证,也就是通过ldap去查询用户名和密码。不过用户在这个应用的具体权限,就需要在软件里进行设置。
  一般来说,你需要设置一个默认的权限给用户,等用户登录后,你才可以给用户设置具体的权限。
  sugarcrm,就是一个例子,他是支持ldap验证,不过仅仅是支持验证。如果你设置sugar采用ldap验证,你会发现,系统里是没有用户,必须这个用户登录后,你才能在用户管理,设置他的权限。
  其实作为软件本身,如果可以做到,自己主动去ldap查询符合条件的用户,导入到系统,那就更好。还有ldap里的一些基本信息,如果也可以导入,那就更好。如sugar,可以把用户的邮箱导入。
  不过这点,很少软件可以做到。ejabberd,倒是会自动查询ldap里的用户。
  3:pam验证,不支持ldap
  应用本身不支持ldap验证,支持pam验证,那么你可以通过pam实现ldap。这种方式是可行,听起来也挺好,不过也就增加ldap验证配置的复杂程度。
  web应用,支持ldap验证,其实很简单就可以实现。仅仅是
  open,就是一个例子,事实上,你想实现open采用ldap验证,有两种办法,
  一种是直接通过ldap进行验证
  另外一种就是通过pam,再找ldap验证。
  4:apache验证
  这种验证方式,也就是让apache,通过ldap来验证用户,倒是简单,iredmail本身的Awstats ,就是通过这种方式实现统一验证

你可能感兴趣的:(Linux下LDAP统一用户验证)