Dies ist eine alte Version des Dokuments!
Um LDAP-User (oder auch andere Objekte) in Gruppen zu verwalten, gibt es die Objectklassen (~GroupOfNames und ~GroupOfUniqueNames) die mit ihrem Attribut „member“ auf andere LDAP-Objekte verweisen. Wenn jetzt das Problem aufkommt, heraus zu finden, ob ein LDAP-Objekt Mitglied einer Gruppe ist bzw. in welchen Gruppen es Mitglied ist, ist das durchsuchen aller defionierten Gruppen eine Möglichkeit. Die bessere Möglichkeit ist das Overlay-Modul „~MemberOf“. Diese Modul sorgt selbstständig für die Referenz des „Member“-Attributes entsprechend der Definition im „~GroupOf(Unique)Names“-Objekt, indem es das member-Attribut virtuell erstellt. Dieses Overlay ist in der Standard-Konfiguration nicht aktiv, das kann mit folgenden Code geändert werden: <verbatim> #> ldapmodify
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: memberof </verbatim>
jetzt muss noch separat für jede Datenbank das Overlay eingerichtet werden, wobei es einen Unterschied zwischen „~GroupOfNames“ und „~GroupOfUniqueNames“ gibt:
<verbatim> #> ldapadd
dn: olcOverlay=memberof,olcDatabase={xx}hdb,cn=config olcMemberOfGroupOC: groupOfUniqueNames objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: olcConfig objectClass: top olcOverlay: memberof olcMemberOfRefInt: TRUE # die folgenden 2 Zeilen werden nur für „GroupOfUniqueNames“ benötigt # für „GroupOfNames“ stimmen die Defaultwerte des Overlays olcMemberOfMemberAD: uniqueMember olcMemberOfMemberOfAD: memberOf </verbatim>
WEnn das alles ohne Fehler geklappt hat, werden bei Änderungen im Gruppen-Objekt die entsprechenden Member-Objekte angepast.