我有一个 389 Directory Server 群集作为ldap。我想使用 phpldapadmin 作为前端。
一切似乎都很好但是当我使用非管理员用户登录时,即使用 phpldapadmin 创建用户,我也看不到mi自己的密码字段。登录有效,但我可以更改密码值。
相同的phpldapadmin配置适用于 openldap 。
有什么想法吗?
由于
答案 0 :(得分:0)
这是一个可能由默认ACI实现的安全功能。默认情况下,除管理用户外,没有人可以读取用户对象的userPassword属性。原因很简单:尽管用MD5或SSHA之类的东西哈希密码有助于保护它免受攻击,但这种方法并不是完全无法攻击的。如果某人掌握了您的哈希值,他们可以使用rainbow tables或password cracking rig查找/破解哈希值并获取纯文本密码。如果您希望非管理用户有权访问所有用户密码,您可以将以下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的功能提供了更丰富的界面。