我正在使用 Ubuntu 24.04 学习 LDAP,并被以下问题所困扰:
sudo dpkg-reconfigure slapd
base.ldif
:dn: ou=people,dc=vmvm,dc=com
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=vmvm,dc=com
objectClass: organizationalUnit
ou: groups
$ ldapadd -x -D cn=admin,dc=vmvm,dc=com -W -f base.ldif
Enter LDAP Password:
adding new entry "ou=people,dc=vmvm,dc=com"
adding new entry "ou=groups,dc=vmvm,dc=com"
ldapsearch
验证:$ ldapsearch -xLLL -H ldap:// -b "dc=vmvm,dc=com"
dn: dc=vmvm,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: vm
dc: vmvm
dn: ou=people,dc=vmvm,dc=com
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=vmvm,dc=com
objectClass: organizationalUnit
ou: groups
$ ldapsearch -xLLL -b "ou=groups,dc=vmvm,dc=com"
dn: ou=groups,dc=vmvm,dc=com
objectClass: organizationalUnit
ou: groups
ou=groups,dc=vmvm,dc=com
时,它失败了,因为我的 LDAP 密码突然错误了!$ ldapdelete -D ou=groups,dc=vmvm,dc=com -W
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
$ ldapdelete "ou=groups,dc=vmvm,dc=com" -W
Enter LDAP Password:
SASL/SCRAM-SHA-512 authentication started
ldap_sasl_interactive_bind: Invalid credentials (49)
additional info: SASL(-13): user not found: no secret in database
关于我在这里做错了什么有什么建议吗?
注意:当我在安装过程中设置 LDAP 密码时,没有提及管理员帐户名——它只要求我输入密码。此密码是否与默认
root
/admin
LDAP 实体绑定?
在第一个 ldapdelete 命令中,您指定要删除的 DN 作为您的用户名。
您拥有的“LDAP 密码”一般不适用于 LDAP 服务 – 它专门用于
cn=admin,dc=vmvm,dc=com
帐户,因此您需要为 -D
(绑定 DN)参数指定该密码。
$ ldapdelete -D cn=admin,dc=vmvm,dc=com -W ou=groups,dc=vmvm,dc=com └────────────────────────┘ └┘ └────────────────────── ─┘ └─ 绑定DN(用户名) │ └─ 删除什么 │ 「询问密码」─┘
在第二个 ldapdelete 命令中,您根本没有指定任何用户名(绑定 DN),因此它会尝试 SASL 身份验证,而您可能没有设置它。 (大多数 SASL 机制涉及 slapd 服务之外的一些设置。)