ldap_modify: Unzureichender Zugriff (50)

9

Ich verwende einen OpenLDAP 2.4-Server, der den SSL-Dienst für die Kommunikation verwendet. Es funktioniert für Suchvorgänge.

Ich versuche, die Replikation im Spiegelmodus hinzuzufügen.

Das ist also der Befehl, den ich ausführe:

ldapmodify -D "cn=myuser,dc=mydomain,dc=com" -H ldaps://myloadbalancer -W -f /etc/ldap/ldif/server_id.ldif

Wo ist das meine server_id.ldif:

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 1 myserver1
olcServerID: 2 myserver2

und dies ist meine cn \ = config.ldif im slapd.d-Baum von Textdateien:

dn: cn=config
objectClass: olcGlobal
cn: config
olcArgsFile: /var/run/slapd/slapd.args
olcPidFile: /var/run/slapd/slapd.pid
olcToolThreads: 1
structuralObjectClass: olcGlobal
entryUUID: ff9689de-c61d-1031-880b-c3eb45d66183
creatorsName: cn=config
createTimestamp: 20121118224947Z
olcLogLevel: stats
olcTLSCertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSCertificateKeyFile: /etc/ldap/certs/ldapskey.pem
olcTLSCACertificateFile: /etc/ldap/certs/ldapscert.pem
olcTLSVerifyClient: never
entryCSN: 20121119022009.770692Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20121119022009Z

Aber leider bekomme ich das:

Enter LDAP Password: 
modifying entry "cn=config"
ldap_modify: Insufficient access (50)

Wenn ich versuche, die Konfigurationsdatenbank anzugeben, erhalte ich Folgendes:

ldapmodify -H 'ldaps://myloadbalancer/cn=config' -D "cn=myuser,cn=config" -W -f ./server_id.ldif 
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)}

Weiß jemand, wie ich die Server-ID zur Konfigurationsdatenbank hinzufügen kann, damit ich die Einrichtung des Spiegelmodus abschließen kann?

Lynn Owens
quelle

Antworten:

10

Es ist genau das, was auf der Dose steht. Ihr DN cn=myuser,dc=mydomain,dc=comverfügt nicht über genügend Berechtigungen, um den cn=configBaum zu ändern . Und wenn Sie versuchen, "die Konfigurationsdatenbank anzugeben", verwenden Sie einen völlig anderen DN cn=myuser,cn=config, der anscheinend entweder nicht vorhanden ist oder Sie verwenden ein falsches Passwort.

Um solche Änderungen vorzunehmen, müssen Sie mit einem Konto arbeiten, das berechtigt ist, die verschiedenen Datenbanken zu ändern. Das "admin" -Konto, dh das eine Konto, das immer alle Berechtigungen hat, wird im Attribut angegeben olcRootDNund sein Kennwort befindet sich in olcRootPW. Für die cn=configDatenbank befinden sich diese Attribute in olcDatabase={0}config,cn=configund für die "reguläre" Datenbank, normalerweise vom Typ HDB, in olcDatabase={1}hdb,cn=config.

Welches Tutorial oder welche Dokumentation haben Sie befolgt? Es scheint nicht so, als ob Sie vollständig verstehen, was Sie hier tun.

daff
quelle
Hmm, ich benutze bereits das olcRootDN-Konto. -D "cn = myuser, dc = mydomain, dc = com" ist mein Ersatz für "cn = Manager, dc = Beispiel, dc = com" ... Ich habe Manager aus Sicherheitsgründen durch myuser ersetzt. Ich habe erwartet, dass es funktioniert. Ich denke, dass ich die Server-ID auf einer höheren Ebene als die Datenbanken angeben muss, ... in der Basiskonfiguration von slapd selbst, die ich in cn = config.ldif erwarten würde, nicht in olcDatabase \ = \ {1 \} hdb.ldif wo man den olcRootDN findet.
Lynn Owens
Wenn Sie "unzureichenden Zugriff" erhalten, verwenden Sie nicht den in olcRootDNund konfigurierten Administrator olcRootPW. Dieser Benutzer hat per Definition immer Zugriff auf alles. Beachten Sie erneut, dass die verschiedenen Datenbanken unterschiedliche Administratorbenutzer haben. cn=configVerwenden Sie für den Baum den unter olcDatabase={0}config,cn=config. Und nein, die olcServerIDAttribute tun , gehören in den cn=configDN. Dort habe ich sie auch.
Daff
Danke Daff, das war es. Ich wusste nicht, dass die Konfigurationsdatenbank die {0} -Datenbank war. Es war tatsächlich ein Administrator da. Ich gab ihm ein Passwort und meine Änderungen verliefen ohne Probleme. :)
Lynn Owens
Mich würde interessieren, welches Tutorial oder welche Dokumentation Sie empfehlen würden, um sich schnell mit ldap vertraut zu machen. Weil mir klar ist, dass ich absolut keine Ahnung habe, was ich tue.
The Lazy Coder
1
@TheLazyCoder Die offizielle Dokumentation ist umfassend, aber für Anfänger nicht sehr zugänglich. Die Ubuntu OpenLDAP-Dokumente sind im Laufe der Zeit besser geworden und könnten für Anfänger gut genug sein. Davon abgesehen habe ich einiges aus Matt Butchers Buch "Mastering OpenLDAP" gelernt, das von Packt veröffentlicht wurde. Vielleicht möchten Sie dort beginnen, auch wenn es jetzt etwas veraltet ist.
Daff
7

Da ich ein ziemlich ähnliches Problem hatte, versuchte ich eine interessante Lösung, aber ohne Erfolg. Im Gegensatz zu Lynn Owens konnte ich dem Administrator in kein Passwort hinzufügen olcDatabase={0}config,cn=config. Ich habe es endlich geschafft, meine cn=configBefehle wie folgt zu ändern :

ldapmodify -Y EXTERNAL -H ldapi:/// -f somefile.ldif
phep
quelle
Dies funktioniert, insbesondere das "-Y EXTERNAL -H ldapi: ///", da cn = admin, dc = ..., das ursprünglich erstellt wurde, keinen Zugriff für diese Änderungen auf niedrigerer Ebene hat.
Naisanza
1
Wenn dies beim ersten Versuch nicht funktioniert, denken sudoSie daran, ist Ihr Freund
Ratskin