如何允许 LDAP 用户更改密码?

如何允许 LDAP 用户更改密码?

我想允许 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 目录

注意事项

  1. 有时 slapd.conf 既存在于本地路径中,也存在于全局路径中,请尝试同时更改两者
  2. 删除 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

成功了!嘻嘻

相关内容