我想允许 ldap 用户更改密码,但该怎么做?
passwd?还是 ldappasswd?这次对我来说不行。
要让用户成功更改密码,需要进行哪些配置?
任何帮助都行。谢谢。
答案1
在slapd.conf中写入访问控制规则
access to attrs=userPassword
by self =xw
但是您应该知道,必须先写具体规则,最后写一般规则。
例如,以下规则必须写在最后。
access to * by * read
更多信息请访问:http://www.openldap.org/doc/admin24/access-control.html
更多信息
slapd.conf 通常位于
/etc/openldap or
/etc/ldap/ or
/usr/local/etc/openldap/ or
/usr/local/etc/ldap/
新版本的 ldap 有一些变化,支持 slapd.conf,但默认情况下数据存储在 slapd.d 目录中。如果你将自定义 slapd.conf 放在那里,进程将读取 slapd.conf 而不是 slapd.d 目录
注意事项
- 有时 slapd.conf 既存在于本地路径中,也存在于全局路径中,请尝试同时更改两者
- 删除 slapd.d 目录,因为它是使 slapd.conf 工作的默认目录
答案2
我找到了解决方案http://ubuntuforums.org/showthread.php?t=1640070
在 /etc/pam.d/common-password
#
# /etc/pam.d/common-password - password-related modules common to all services
# -- removed comment header talking about various options --
# here are the per-package modules (the "Primary" block)
password [success=2 default=ignore] pam_unix.so obscure sha512
password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
# here's the fallback if no module succeeds
password requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password required pam_permit.so
# and here are more per-package modules (the "Additional" block)
password optional pam_gnome_keyring.so
# end of pam-auth-update config
尝试删除 use_authtok 参数并保存文件。您可能需要重新启动。
-Tim
成功了!嘻嘻