Keine Auflösung von Verweisen (Alias) beim LDAP-Zugriff

  • Hallo zusammen,


    ich möchte in der Firma einen LDAP-Server (OpenLDAP) einführen, mit dem u.a. zentral die Stammdaten der Mitarbeiter verwaltet werden sollen. Über diesen LDAP-Server sollen außerdem die Authentifikation und Autorisation für interne Applikationen erfolgen. Es wäre natürlich super, den LDAP-Server als zentrales Adressbuch einzubinden. Dieses stellt an sich kein Problem dar, da es hierfür zahlreiche Anleitungen im Netz gibt.


    Um den Verwaltungsaufwand und mögliche Fehlerquellen zu reduzieren, werden die Daten der Mitarbeiter alle in einer organizationalUnit "Personen" gespeichert. In der organizationUnit "Gruppen" können Benutzergruppen erstellt werden, die die verknüpften Personen speichern. Die Verknüpfung wird dabei durch einen Alias (siehe http://www.openldap.org/faq/data/cache/1111.html) realisiert, d.h. es wird kein neuer Personeneintrag erstellt, sondern auf einen bestehenden Eintrag verwiesen. So können an einer zentralen Stelle Änderungen durchgeführt werden.


    Das Verzeichnis hat folgenden Aufbau:



    Die Definition eines Personeneintrags sieht so aus:


    Code
    1. dn: cn=Max Mustermann,ou=Personen,dc=local,dc=site
    2. objectClass: inetOrgPerson
    3. objectClass: organizationalPerson
    4. objectClass: person
    5. objectClass: top
    6. mail: max.mustermann@local.site
    7. sn: Mustermann
    8. cn: Max Mustermann


    Die Definition eines Alias sieht so aus:


    Code
    1. dn: cn=Max Mustermann,ou=Maenner,ou=Gruppen,dc=local,dc=site
    2. objectClass: alias
    3. objectClass: top
    4. objectClass: extensibleObject
    5. aliasedObjectName: cn=Max Mustermann,ou=Personen,dc=local,dc=site
    6. cn: Max Mustermann


    Nun möchte ich die so definierten Gruppen ebenfalls als Adressbücher in Thunderbird bereitstellen. Daher habe ich mir überlegt, pro Gruppe ein eigenes LDAP-Adressbuch zu erstellen, in dem jeweils der Basis-DN entsprechend gesetzt wird (z.B. "ou=Maenner,ou=Gruppen,dc=local,dc=site").


    Und hier kommt nun das Problem, das ich bisher noch nicht lösen konnte:


    Setze ich in einem dieser Gruppen-Adressbücher eine Suchanfrage ab (z.B. "* " für alle Personen in dieser Gruppe), dann werden Daten für die verknüpften Personen geliefert. Es werden leider jedoch nicht die Ziele der Verweise (das Objekt in der organizationalUnit "Personen") sondern der definierte Alias zurückgegeben. In diesem stehen natürlich nicht die gewünschten Daten (Nachname, Vorname, eMail-Adresse, usw.).


    In der Log-Datei des OpenLDAP findet sich für die Suchanfrage von Thunderbird folgender Eintrag:


    Code
    1. slapd[1139]: conn=68 op=3 SRCH base="ou=Maenner,ou=Gruppen,dc=local,dc=site" scope=2 deref=0 filter="(|(mail=**)(cn=* *)(givenName=* *)(sn=* *))"


    Das "defer=0" gibt an, daß Aliase nicht aufgelöst werden sollen und wird durch den LDAP-Client (Thunderbird also) übermittelt. Ich suche nun nach einer Möglichkeit Thunderbird so einzustellen, daß die Verweise aufgelöst werden.


    Setze ich folgendes ldapsearch ab


    Code
    1. ldapsearch -x -LLL -b ou=Maenner,ou=Gruppen,dc=local,dc=site -a never


    dann wird folgendes Ergebnis geliefert (der Alias-Eintrag also, da Verweise nicht aufgelöst werden sollen):



    Der zugehörige Log-Eintrag ("deref=0"):


    Code
    1. slapd[1139]: conn=71 op=1 SRCH base="ou=Maenner,ou=Gruppen,dc=local,dc=site" scope=2 deref=0 filter="(objectClass=*)"


    Aktiviere ich das Auflösen von Verweisen, dann bekomme ich folgendes (u.a. den gesuchten Personen-Eintrag):


    Code
    1. ldapsearch -x -LLL -b ou=Maenner,ou=Gruppen,dc=local,dc=site -a search


    Das Ergebnis:



    Und der zugehörige Log-Eintrag ("defer=1"):


    Code
    1. slapd[1139]: conn=72 op=1 SRCH base="ou=Maenner,ou=Gruppen,dc=local,dc=site" scope=2 deref=1 filter="(objectClass=*)"


    Die verwendete Systemkonfiguration:

    • OpenLDAP 2.4.17 mit bdb-Backend, OpenSuSE 11.1
    • Thunderbird 2.0.0.23, Windows XP Pro und Mac OS X 10.5.8


    Weiß jemand, wie ich Thunderbird so einstellen kann, daß Aliase bei der LDAP-Abfrage aufgelöst werden? Oder gibt es eine andere Möglichkeit, daß Thunderbird auf Gruppen im LDAP-Verzeichnis zugreifen kann?


    Ich hoffe, daß das nicht zu viele Informationen auf einmal waren und daß ich das Problem verdeutlichen konnte... ;)



    Viele Grüße,


    Thorsten