0

我在 Ubuntu 中使用 ldap 服务器。从 phpldapadmin 我创建了一个新条目。在 ldap 服务器中,当我使用命令时,我可以看到所有创建的数据$ ldapsearch -x

# leja, example, people, ldap.com
dn: cn=leja,cn=example,ou=people,dc=ldap,dc=com
givenName: Leja
gidNumber: 500
homeDirectory: /home/users/leja
sn: Bin
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
uidNumber: 1001
uid: leja
cn: leja

但是在 ldap 服务器的 Ubuntu 中找不到此数据的存储位置。据我了解,它应该是*.ldif文件。

我希望我的 ldap 服务器允许用户更改他们自己的'userPassword'属性。所以我需要修改用户数据。

你能帮我在哪里找到数据吗?

4

1 回答 1

0

不要期望 OpenLDAP(或任何其他 LDAP 服务器)将条目作为 LDIF 文件存储在您的磁盘上。LDAP 服务器使用数据库后端(通常是嵌入式的)来存储条目。不过,您不应该通过 LDAP 协议访问数据库。

LDIF只是 ldapsearch、ldapmodify 等工具使用的目录条目外部表示的常用文件格式。此外,LDIF 文件用于初始化目录服务器,因此如果您在磁盘上找到 LDIF 文件,请不要感到惊讶. 它们通常用于备份和恢复配置(和用户)数据。

如果您希望用户更改他们自己的密码,您必须通过slapd 配置文件中的访问控制语句向经过身份验证的用户授予对密码属性的写访问权限。 阅读访问控制,并查看 slapdconfig 文档末尾的示例配置。

于 2017-02-11T09:42:10.580 回答