LDAP (Zusatzmodul)

Siehe einleitenden Abschnitt LDAP (Ressourcen).

LDAP steht für Lightweight Directory Access Protocol und ist ein TCP /IP-basiertes Directory-Zugangsprotokoll, das sich im Internet und in Intranets als Standardlösung für den Zugriff auf Netzwerk-Verzeichnisdienste für Datenbanken , E-Mails , Speicherbereiche und andere Ressourcen etabliert hat.

Ein LDAP-Verzeichnis hat eine baumartige Struktur. Alle Objekte (Einträge) im Verzeichnis haben eine definierte Position innerhalb dieser Hierarchie. Diese Hierarchie wird als Directory Information Tree bezeichnet. Der komplette Pfad zum gewünschten Eintrag, der ihn eindeutig identifiziert, wird Distinguished Name oder DN genannt. Die einzelnen Knoten auf dem Weg zu diesem Eintrag werden Relative Distinguished Name oder RDN genannt. Objekte (Einträge) können generell zwei verschiedenen Typen zugeordnet werden.


  • Container. Diese Objekte können wieder andere Objekte enthalten. Solche Objektklassen sind Root (Wurzelelement des Verzeichnisbaums, das nicht real existiert), c (Engl. country), ou (Engl. organizational unit), und dc (Engl. domain component). Vergleichbar ist dieses Modell auch mit Verzeichnissen (Ordnern) im Dateisystem.

  • Blatt. Diese Objekte sitzen am Ende eines Astes. Ihnen sind keine anderen Objekte untergeordnet. Beispiele sind Person, InetOrgPerson oder groupofNames.


An der Spitze der Verzeichnishierarchie liegt ein Wurzelelement Root. Diesem können in der nächsten Ebene entweder c (Engl. country), dc (Engl. domain component) oder o (Engl. organization) untergeordnet werden.


images/download/attachments/91138900/ldap_tree-version-1-modificationdate-1646280520335-api-v2.png

LDAP-Objektname


Jedes Objekt hat zahlreiche Namensattribute. Vor- und Nachname, Anzeigename, Anmeldename, usw. Stets eindeutig ist aber der LDAP-Objektname, oft auch als LDAP-Pfad bezeichnet ("Distinguished Name"). Dieser Name identifiziert das Objekt innerhalb der Hierarchie des Verzeichnisses, und zwar von der untersten Ebene (dem Objekt selbst) durch alle Container hindurch bis zum Ursprung des Verzeichnisses (was bei Active Directory die Domäne ist). Das Objekt Tux Linux, dessen Konto in der Organisationseinheit (organizational unit, ou) devel und der Domäne suse.de gespeichert ist, hat folgenden DN.


cn=Tux Linux, ou=devel, dc=suse, dc=de

LDAP-Attribute


Jedem Objekt können mehrere Attribute oder Attributgruppen zugewiesen werden. So kann ein User-Object z. B. das Attribut mailNickname oder title besitzen. Zusätzlich gibt es "Struktur"-Attribute wie z. B. objectClass. Diese speziellen Attribute müssen in Lobster_data mit dem Präfix struct_ (also struct_<attribute>) versehen werden.

Hinweis: Im Active Directory wird zur Neuanlage von Usern das Attribute unicodePwd benötigt. Dieses beinhaltet das verschlüsselte Passwort des Users.

Für den Aufbau der Attribut-Map in einem Profil, muss zwingend die Funktion fill-map-from-fields( map a, prefix b, index c, hidden d, [processing e] ) verwendet werden.

LDAP-Suchsyntax


Zeichen

Bedeutung

Beispiel

=

Equal to

(givenName=John)

&

Logical AND

(&(givenName=John)(l=Dallas))

|

Logical OR

(|(givenName=John)(l=Dallas))

!

Logical NOT

(!givenName=John)

*

Wildcard

(title=*) oder (givenName=Jo*) oder (givenName=Jo*n)

<=

Lesser

(mdbStorageQuota<=10000)

>=

Greater

(mdbStorageQuota>=10000)

~=

Approximate

(displayName~=Mueller)


Sonderzeichen


LDAP-Filter (der Suchstring) können mit Unicode-Zeichen definiert werden. Sie können z. B. ohne Probleme deutsche Umlaute verwenden - wenn das gefilterte Attribut ein Unicode-String ist. Allerdings spielen die Zeichen ( ) & | = ! > < ~ * / \ ein besondere Rolle bei der Definition von LDAP-Filtern. Wenn diese Zeichen innerhalb eines Attribut-Strings gesucht oder verglichen werden sollen, dann müssen Sie diese mit einem vorangestellten Backslash und deren hexadezimalem ASCII-Code angeben.

Zeichen

Hexadezimal ASCII-Code

(

\28

)

\29

&

\26

|

\7c

=

\3d

>

\3e

<

\3c

~

\7e

*

\2a

/

\2f

\

\5c

Siehe auch