我试图build立我的第一个LDAP服务器。 即使一切似乎都在工作,我也无法让客户使用它进行身份validation。 我怀疑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
这是问题吗? 我如何解决它? 我无法find一种方法来编辑ACL,而无需使用dpkg完全更改安装。
如果你的testing系统没有一个真正的主机名(比如ldap.example.org ),并且只是把它命名为ldap ,Debian(?)/ Ubuntu上的OpenLDAP的默认configuration(我猜你会用)将假设一个LDAP树名称dc=nodomain并创build适当的ACL规则。
真的,你最好的办法是设置一个完整的FQDN,让dpkg --reconfigure slapd完成它的工作。 它会破坏所有的东西,但是最终你会得到一个有效的LDAP树和一个像cn=admin,dc=example,dc=org这样的pipe理员用户。