Apache + LDAP + require group

ist ein Albtraum 🙁
Während die Bereitstellung von Gruppeninformationen via openLDAP über die PAM-Module nur den Eintrag objectClass: posixGroup in der LDAP Datenbank benötigte, ignoriert Apache (alle Versionen) bei der Gruppenidentifizierung diesen Eintrag und verlang stattdessen objectClass: groupOfNames.

Dieses Problem hat man sich sofort eingehandelt wenn der Zugriff auf den Webserver via WebDAV – oftmals bei subversion Repositories – erfolgt. Folgendes Beispiel wird niemanden aus der Gruppe mygroup authentifizieren, solange diese in der LDAP Datenbank nur von objectClass: posixGroup abgeleitet ist.

...
DAV svn
SVNPath /var/svn/test1
...
AuthName "Subversion Repository test1"
AuthType Basic
AuthLDAPURL ldap://myhost/o=myorg,c=de?uid?sub
require group cn=mygroup,ou=groups,o=myorg,c=de
... ...

Folgende rot gekennzeichnete Änderungen sind in der LDAP db nötig (hier ein .ldif Auszug):

dn cn=mygroup,ou=groups,o=myorg,c=de
objectClass top
objectClass groupOfNames
objectClass posixGroup
member cn=mymember,ou=people,ou=mydepartment,o=myorg,c=de
memberUid mymember
cn mygroup
gidNumber 600

Leider meldet die LDAP Datenbank beim einfügen/modifizieren eine „class violation“.
Der Grund ist dass anstatt des nis.schema das rfc2307bis.schema geladen werden muss. Beide sind inkompatibel zueinander. Nach dem Wechsel des Schemas müssen aber alle Gruppen sofort angepasst werden. Siehe dazu auch

Und wenn man alles umgestellt hat wird die Frage nach den Neueinträgen bleiben, denn ein beliebiges LDAP-Frontend wird bei der Gruppenverwaltung nicht beide objectClass Einträge verwalten. So zumindest auch GOSA.
Es soll aber laut Nabble – LDAP & Benutzergruppen ein Patch existieren, den ich bislang noch nicht ausprobieren konnte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.