Kategorie: LDAP
Authentifizierung über LDAP
April 11th, 2009Zur Konfiguration der Authetifizierung über LDAP bietet der OpenLDAP Ubuntu Server Guide eine gute Anleitung. Jedoch tritt bei aktuellen Ubunut-Versionen in der dritten Befehlszeile
sudo auth-client-config -a -p lac_ldap
folgende Fehler auf:
Error in updating the file: 'pam_account' not found -- Errors found. Aborting (no changes made)
Die Lösung des Problems wird im Ubutu-Forum diskutiert: Obige Befehlszeile muss durch die beiden Zeilen
sudo auth-client-config -t nss -p lac_ldap
sudo pam-auth-update ldap
ersetzt werden. Danach kann man problemlos mit dem OpenLDAP Ubuntu Server Guide fortfahren.
Lösung für Probleme bei der LDAP-Replikation (bdb_equality_candidates)
März 9th, 2009Seit meinem letzten Beitrag habe ich eine funktionsfähige Installation von OpenLDAP. Was nun naheliegend ist, wenn man mehrere Server verwendet, ist die automatische Synchronisation mehrerer LDAP-Installationen (Replikation). Dies ist in der Ubuntu-Anleitung auch ganz gut beschrieben.
Trotzdem gab es auch hier ein paar kleine Probleme: Nachdem alle Server die Startkonfiguration erhalten haben und auf einem der Server die Backend-Konfihuration eingespielt war (Punkt8), sollte eigentlich alles automatisch auf die anderen Server übertragen werden. Dies war jedoch nicht der Fall, sondern anstatt dessen fand sich im syslog folgende Fehlermeldung, die sich immer wieder wiederholte:
Mar 9 19:00:03 prometheus slapd[16207]: <= bdb_equality_candidates: (entryUUID) not indexed Mar 9 19:00:33 prometheus last message repeated 31 times Mar 9 19:01:03 prometheus last message repeated 24 times
Dies weist darauf hin, dass eine Überprüfung der Daten zweier Server auf Gleichheit fehlschlägt. Als Kandidat zur Verwendung zum Testen auf Gleichheit schlägt LDAP "entryUUID" vor. Hierzu findet schlägt logandzwon im Ubuntuforum folgendes vor: Zuerst legt man eine Datei "change_index.ldif" mit folgendem Inhlat an:
dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcDbIndex
olcDbIndex: uid,entryUUID,uniqueMember,uidNumber,gidNumber,memberUid,objectclass eq
Diese Änderungen kann man dann mittels
ldapmodify -x -D cn=admin,cn=config -W -f change_index.ldif
durchführen. Es werden also mehrere eindeutige Datenfelder, darunter auch "entryUUID", für einen Index verwendet. Da dieser zum Vergleichen der Daten verwendet wird, ist das Problem an dieser Stelle gelöst.
Noch ein kleiner Hinweis am Rande: Das Übertragen auf die anderen Server geschieht automtisch. Hierbei muss man den einzelnen LDAP-Instanzen manchmal etwas Ziet geben und darf nicht zu ungeduldig sein.