我有一个389目录服务器集群作为ldap。我希望使用phpldapadmin作为前端。
一切似乎都很好,但是当我用非管理用户登录我时,我看不到我自己的密码字段,即使用户是使用phpldapadmin创建的。登录工作,但我可以更改密码值。
同样的phpldapadmin配置在openldap中运行良好。
有什么想法吗?
谢谢
发布于 2014-06-25 19:57:47
这是一个安全特性,可能是由默认ACI实现的。默认情况下,除了管理用户之外,任何人都不能读取用户对象的userPassword属性。原因很简单:虽然使用类似MD5或SSHA之类的东西散列密码有助于保护密码免受攻击,但这种方法并不是完全无懈可击。如果有人掌握了您的哈希,他们可以使用彩虹桌或密码破解装置查找/破解哈希并获得纯文本密码。如果希望非管理用户能够访问所有用户密码,可以将以下ACI添加到适当的对象/容器(可能是ou=People)中:
aci: (targetattr = "userPassword") (version 3.0;acl "Password Reading";allow
(read)(userdn = "ldap:///uid=SomeUser,ou=People,dc=example,dc=com");)我还建议您在phpldapadmin上使用389管理控制台,因为它为特定于389的特性提供了更丰富的界面。
https://stackoverflow.com/questions/22182218
复制相似问题