我试图启用Linux主机使用端口389和tls对活动目录服务器进行身份validation。 我似乎有这么多的工作,但用户不能通过passwd更改密码。
我假设在密码更改期间,它会绑定用户名和旧密码,而不是在ldap.conf中的binddn / bindpw,但我可能是错的。 如果是这样的话,我该如何得到它的工作,因为test \ ldap域用户没有更改其他用户的密码的权限,我不想给它这个权限,因为这个configuration文件将在每个客户端上。
这是在rhel5(如果我得到它的工作,rhel4也)
这是我的客户端上的configuration文件:
/ etc / hosts文件 127.0.0.1 localhost 192.168.0.2 TESTSRV.TEST.COM TESTSRV WIN-JERS4CCKFGM WIN-JERS4CCKFGM.TEST.COM 192.168.0.1
/etc/ldap.conf中用
debugging0
uri ldap://WIN-JERS4CCKFGM.TEST.COM/
base cn = Users,dc = test,dc = com
ldap_version 3
binddn TEST \ ldap
bindpw Pwldap1
bind_policy软
范围子
时间限制30
nss_base_passwd cn =用户,dc = test,dc = com?one
nss_base_shadow cn =用户,dc = test,dc = com?one
nss_base_group cn =用户,dc = test,dc = com?sub
nss_schema rfc2307bis
nss_map_object类posixAccount用户
nss_map_objectclass shadowAccount用户
nss_map_objectclass posixGroup组
nss_map_attribute uniqueMember成员
nss_map_attribute homeDirectory UnixHomeDirectory
nss_map_attribute gecos名称
nss_map_attribute ou描述
/etc/nsswitch.conf中
passwd:文件ldap shadow:文件ldap 组:文件ldap
主机:文件dns
醚:文件
networking掩码:文件
networking:文件
协议:文件
rpc:文件
服务:文件
networking组:文件ldap
automount:文件ldap
别名:文件
将/etc/pam.d/system-auth
auth需要pam_env.so auth足够pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid> = 500安静 validation足够的pam_ldap.so use_first_pass auth需要pam_deny.so
帐户所需的pam_unix.so破碎的阴影
帐户足够pam_succeed_if.so用户<500安静
帐户[默认=错误的成功=好的user_unknown =忽略] pam_ldap.so
帐户需要pam_permit.so
密码必需pam_cracklib.so重试= 3
足够的密码pam_unix.so md5 shadow nullok try_first_pass use_authtok
密码足够pam_ldap.so use_authtok
密码需要pam_deny.so
会话可选pam_keyinit.so撤消
会话需要pam_limits.so
会话可选pam_mkhomedir.so
会话[成功= 1默认=忽略] pam_succeed_if.so服务在crond安静use_uid
会话需要pam_unix.so
会话可选pam_ldap.so
/etc/pam.d/passwd只有通常的3个包含system-auth的行。
你是否使用Kerberos或Samba winbind? 或者你只是想直接LDAP?
如果是后者,你的/etc/ldap.conf文件应该有一系列似乎缺less的“pam_ *”参数。 特别是“ pam_password ad ”是指定ADSI作为密码更改协议所必需的。 您可能还需要“pam_login_attribute sAMAccountName”(+其他)
就我个人而言,我一直使用winbind绑定Linux机器,然后更改密码与“net ads password”