0

我有一个389 Directory Server集群作为 ldap。我想使用phpldapadmin作为前端。

一切似乎都很好,但是当我使用非管理员用户登录时,即使用户是使用phpldapadmin创建的,我也看不到我自己的密码字段。登录有效,但我可以更改密码值。

相同的 phpldapadmin 配置适用于openldap

有任何想法吗?

谢谢

4

1 回答 1

0

这是一个可能由默认 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");)

我还建议您使用 389 管理控制台而不是 phpldapadmin,因为它为特定于 389 的功能提供了更丰富的界面。

于 2014-06-25T19:57:47.197 回答