Ich bin mit einem Problem konfrontiert, das versucht, einen Openldap-Server mit dem Koch einzurichten.
Aufbau:
Ubuntu 15.04
OpenLdap 2.4.31
Chef / OpenLdap 2.7.1
Zur Information: Wenn ich dkpg-reconfigure slapd ausführe (was beim Versuch, den Prozess zu automatisieren) keine Option ist, ist Teil 1 des Problems gelöst (ohne Änderung der Konfigurationsdatei phpldapadmin), aber Teil 2 bleibt erhalten.
Teil 1: Beim Zugriff auf das Administratorkonto auf phpldapadmin ist der Administratorbenutzer nicht erreichbar (Nachricht: Diese Basis kann nicht mit PLA erstellt werden.)
Teil 2: Beim Versuch, sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/db.ldifdie Fehlermeldung auszuführen, lautet:
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
Die Standard-ACL lässt dies nicht zu. Die externe Authentifizierung hat keinen Schreibzugriff auf den Baum. das hat nur der ldap admin / super-user (rootdn). (Eigentlich umgeht es alle ACL.)
Binden Sie also entweder den ldap-Administrator an - wie die andere Antwort vermuten lässt - oder fügen Sie Ihre eigenen Acl-Regeln hinzu.
Ich verwende dies als die erste acl-Regel:
to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth write by * break
Sie können auch manageanstelle von verwenden write.