Bevor wie zum Eingemachten kommen zuerst ein paar klärende Worte zum Titel. Hier ist unter rekursiven Gruppen, eine rekursive Gruppenstruktur gemeint, bei der eine Gruppe eine weitere Gruppe als Mitglied enthalten kann. Der Filter

&(sAMAccountName=__USERNAME__)(member=CN=group,DC=netways,DC=de)

leistet dies leider nicht, so dass Mitglieder einer Gruppe, die Mitglied von CN=group ist, nicht authorisiert sind. Mit dem memberOf-Overlay, ist dies mit einer eingebauten “Funktion” jedoch leicht möglich:

&(sAMAccountName=__USERNAME__)(memberOf:1.2.840.113556.1.4.1941:=CN=group,DC=netways,DC=de)

Das Active Directory von Microsoft bringt das memberOf-Overlay von Hause aus mit. Bei Openldap kann es als Modul nachgeladen werden.

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: memberof
 
dn: olcOverlay=memberof,olcDatabase={1}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf

Eine zur Authentifizierung zusätzliche Autorisierung bei einem Apache-Webserver, wie in SSO bei Apache mit gruppenbezogener Authentifizierung gegen ein Active Directory beschrieben, sähe dann wie folgt aus:

AuthzLDAPAuthoritative on
AuthLDAPURL "ldap://dc.netways.de/dc=netways,dc=de?userPrincipalName"
AuthLDAPBindDN "cn=ads,cn=Users,dc=netways,dc=de"
AuthLDAPBindPassword ********
Require ldap-filter memberOf:1.2.840.113556.1.4.1941:=CN=group,DC=netways,DC=de
Lennart Betz

Autor: Lennart Betz

Der diplomierte Mathematiker arbeitet bei NETWAYS im Bereich Consulting und bereichert seine Kunden mit seinem Wissen zu Icinga, Nagios und anderen Open Source Administrationstools. Im Büro erleuchtet Lennart seine Kollegen mit fundierten geschichtlichen Vorträgen die seinesgleichen suchen.