Я пытаюсь настроить свой первый сервер LDAP. Я не могу заставить клиентов проходить аутентификацию с его помощью, хотя все вроде работает. Я подозреваю, что ACL могут быть проблемой, так как я не вижу ACL, используя команду, указанную в официальном руководстве ubuntu:
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
, конфигурация OpenLDAP по умолчанию в Debian (?) / Ubuntu (которую, я полагаю, вы используете) предполагает наличие дерева LDAP с именем dc=nodomain
и создайте соответствующие правила ACL.
На самом деле, ваш лучший подход - установить полное доменное имя и позволить dpkg --reconfigure slapd
делай это работа. Он уничтожит все, но вы получите действительное дерево LDAP и пользователя-администратора, например cn=admin,dc=example,dc=org
.