Я сталкиваюсь с проблемой chen, пытаясь настроить сервер openldap с помощью chef.
Конфигурация:
Ubuntu 15.04
OpenLdap 2.4.31
Chef / OpenLdap 2.7.1
Для информации, когда я запускаю dkpg-reconfigure slapd (который не используется при попытке автоматизировать процесс), часть 1 проблемы решается (без изменения любого файла конфигурации phpldapadmin), но часть 2 остается.
Часть 1: при доступе к учетной записи администратора phpldapadmin пользователь с правами администратора недоступен (сообщение: эту базу невозможно создать с помощью PLA.)
Часть 2: при попытке выполнить sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/db.ldifсообщение об ошибке:
STDERR: SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 ldap_add: Insufficient access (50) additional info: no write access to parent
slapd.conf
include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/nis.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args loglevel 0 modulepath /usr/lib/ldap moduleload back_hdb sizelimit 500 tool-threads 1 database hdb suffix "dc=a6,dc=com" rootdn "cn=admin,dc=a6,dc=com" rootpw a6a6aa66a6a6a6a6a6a6a6 directory "/var/lib/ldap" lastmod on dbconfig set_cachesize 0 31457280 0 dbconfig set_lk_max_objects 1500 dbconfig set_lk_max_locks 1500 dbconfig set_lk_max_lockers 1500 index default pres,eq,approx,sub index objectClass eq index cn,ou,sn,uid,l,mail,gecos,memberUid,description index loginShell,homeDirectory pres,eq,approx index uidNumber,gidNumber pres,eq
adding new entry "dc=example,dc=com" adding new entry "cn=admin,dc=example,dc=com"
2
Torkel Bjørnson-Langen
ACL по умолчанию не позволяют этого. Внешняя аутентификация не имеет доступа для записи в дерево; это имеет только администратор / суперпользователь ldap (rootdn). (На самом деле это обходит все ACL.)
Так что либо связывайтесь как администратор ldap - как подсказывает другой ответ - либо добавьте свои собственные правила acl.
Я использую это как первое правило acl:
to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth write by * break