我可以通过使用Fedora IDM控制台将LDAP服务器与每个用户的管理员用户连接来更改密码,但每个用户都需要通过使用像phpldapadmin这样的Web服务器客户端远程连接服务器来更改密码。但当用户连接到服务器以更改密码时,他只能看到自己的详细信息。
你能帮帮我吗?

最佳答案

默认情况下,LDAP用户在数据库中没有任何权限,甚至无法读取和验证它。如果希望每个用户都能更改其密码,则必须在slapd.conf(或slapd.d)中允许此操作。以下是我的配置,允许更改自己的密码和一些个人属性:

access to attrs=userPassword
 by dn="uid=root,dc=domain,dc=tld" write
 by group/groupOfNames/member.exact="cn=ldapadmins,dc=domain,dc=tld" write
 by self write
 by anonymous auth
 by * none

access to attrs=
  mail,
  sn,
  givenName,
  telephoneNumber,
  mobile,
  facsimileTelephoneNumber,
  street,
  postalAddress,
  postOfficeBox,
  postalCode,
  roomNumber,
  shadowLastChange,
  ldapPublicKey,
  sshPublicKey,
  sambaLMPassword,
  sambaNTPassword,
  sambaPwdLastSet
 by dn.base="uid=root,dc=domain,dc=tld" write
 by group/groupOfNames/member.exact="cn=ldapadmins,dc=domain,dc=tld" write
 by self write
 by * read

access to *
 by dn="uid=root,dc=domain,dc=tld" write
 by group/groupOfNames/member.exact="cn=ldapadmins,dc=domain,dc=tld" write
 by * read

关于linux - 从基于Web的客户端更改ldap用户密码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13289596/

10-16 16:19