我正在尝试设置我的第一个 LDAP 服务器。即使一切似乎都正常,我也无法让客户使用它进行身份验证。我怀疑 ACL 可能是问题,因为我无法使用官方 ubuntu 指南给出的命令看到 ACL:
ldapsearch -xLLL -b cn=config -D cn=admin,cn=config -W olcDatabase=hdb olcAccess
我可以使用这个命令看到它们:
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase={1}hdb)' olcAccess
第二个命令显示 ACL 中的第一个条目使用dc=nodomain
:
dn: olcDatabase={1}hdb,cn=config
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymous auth by dn="cn=admin,dc=nodomain" write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by self write by dn="cn=admin,dc=nodomain" write by * read
这是问题吗?我如何解决它?如果不使用完全更改安装,我找不到编辑 ACL 的方法dpkg
。
如果您有一个没有真实主机名的测试系统(例如
ldap.example.org
)并将其ldap
命名dc=nodomain
为.确实,您最好的方法是设置一个完整的 FQDN 并让它
dpkg --reconfigure slapd
发挥作用。它会破坏一切,但您最终会得到一个有效的 LDAP 树和一个管理员用户,例如cn=admin,dc=example,dc=org
.