Ich habe ein OpenLDAP-Setup unter Debian 7.1 (OpenLDAP 2.4.31) und versuche, das Memberof-Overlay einzurichten. Meine Konfiguration ist so, wie ich sie an vielen Stellen im Internet gelesen habe, funktioniert jedoch bei mir immer noch nicht.
Das Problem ist, dass die memberOf-Attribute der Entitäten nur aktualisiert werden, wenn ich eine Gruppe erstelle, aber nicht aktualisiert werden, wenn ich eine Gruppe ändere oder lösche. Eigentlich wurde das gleiche Problem schon einmal hier gestellt: Wie konfiguriere ich die Reverse Group Membership Maintenance auf einem Openldap-Server? (memberOf) , aber selbst wenn es als beantwortet markiert ist, konnte ich in den Antworten keine brauchbaren Informationen finden. (Auch das Originalplakat konnte laut Kommentaren nichts mit den Antworten anfangen ...)
Meine Konfiguration lautet wie folgt: cn = config / cn = module {0} .ldif
dn: cn=module{0}
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof
structuralObjectClass: olcModuleList
Und für das Modul: cn = config / olcDatabase = {1} hdb / olcOverlay = {0} memberof.ldif
dn: olcOverlay={0}memberof
objectClass: olcMemberOf
objectClass: olcOverlayConfig
olcOverlay: {0}memberof
structuralObjectClass: olcMemberOf
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
olcMemberOfRefInt: TRUE
Die Gruppe, die ich hinzufüge:
dn: cn=test,ou=services,dc=x,dc=y
cn: test
objectClass: groupOfNames
objectClass: top
description: test group
member: cn=Almafa Teszt,ou=users,dc=x,dc=y
Die Abfrage, die ich ausführe:
$ ldapsearch -LLL -h localhost -x -D cn=admin,dc=x,dc=y -b u=users,dc=x,dc=y -W '(memberOf=cn=test,ou=services,dc=x,dc=y)' memberOf
Das Problem besteht also nicht darin, wie das Attribut abgefragt werden soll, sondern dass sich das Ergebnis der Suche nach dem Ändern oder Entfernen der Gruppe nicht ändert ...
Update : Was Brians Antwort betrifft, habe ich auch das Refint-Overlay mit der folgenden Konfiguration eingerichtet:
$ ldapsearch -LLL -b cn=module{0},cn=config
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib/ldap
olcModuleLoad: {0}back_hdb
olcModuleLoad: {1}memberof.la
olcModuleLoad: {2}refint
$ ldapsearch -LLL -b olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
dn: olcOverlay={1}refint,olcDatabase={1}hdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: {1}refint
olcRefintAttribute: memberof member manager owner
Aber weder das Overlay-Mitglied wurde behoben, noch funktionierte es an sich. Wenn ich den Namen eines Mitglieds einer Gruppe geändert habe, wurde das Mitgliedsattribut der Gruppe nicht aktualisiert. Könnten diese beiden Probleme zusammenhängen?