2

我可以通过使用 fedora-idm-console 将 ldap 服务器与每个用户的管理员用户连接来更改密码。但是每个用户都需要通过使用 web 服务器客户端(如 phpldapadmin)远程连接服务器来更改密码。但是当用户连接到服务器来更改密码时,他只能看到他的详细信息。

你能帮我么 。

4

1 回答 1

1

默认情况下,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
于 2015-06-18T14:41:45.040 回答