Inhaltsverzeichnis

LDAP (Lightweight Directory Access Protocol) ist ein standardisiertes Netzwerkprotokoll zur Abfrage und Verwaltung von Informationen in einem Verzeichnisdienst. Es wurde entwickelt, um den Zugriff auf Verzeichnisse effizienter und plattformunabhängig zu gestalten. LDAP wird häufig für die Verwaltung von Benutzerkonten, Authentifizierung, Autorisierung und allgemeine Verzeichnisinformationen verwendet.

Active Directory ist die Windows Implementierung von LDAP. OpenLDAP ist die Linux Implementierung von LDAP.

JExplorer ist ein LDAP Browser in Java.

LDAP verwendet das Client-Server-Modell, bei dem ein LDAP-Client Anfragen an einen LDAP-Server sendet und der Server die entsprechenden Antworten zurückgibt. Der Server speichert die Daten in einem hierarchischen Verzeichnisbaum, der als Directory Information Tree (DIT) bezeichnet wird. Jeder Eintrag im Baum wird als Distinguished Name (DN) bezeichnet und enthält Attribute, die Informationen über den Eintrag enthalten.

Die LDAP-Architektur besteht aus folgenden Komponenten:

LDAP unterstützt verschiedene Operationen zum Abfragen und Verwalten des Verzeichnisses. Hier sind einige der grundlegenden Operationen, die mit LDAP durchgeführt werden können:

Online LDAP Testserver

domain-tree-forrest.jpg

Tools

ldapsearch

Objekte suchen

ldapsearch -x -h ldap://dc.domain.local -D "administrator@domain.local" -w "password" -b "ou=users,dc=mydomain,dc=com" -s sub "(objectClass=user)" 
 
# sub: search filter for e.g (cn=Em Brain) (mail=*) (sn=*)

ldapadd

Objekte erstellen

# new_user.ldif
dn: cn=Max Mustermann,ou=Users,dc=example,dc=com
objectClass: inetOrgPerson
cn: Max Mustermann
sn: Mustermann
givenName: Max
mail: max.mustermann@example.com
userPassword: somesecretpassword
ldapadd -x -H ldap://dc.dom.local -D "administrator" -w "password" -f new_user.ldif

ldapmodify

Objekte bearbeiten

ldapmodify -x -H ldap://dc.dom.local -D <admin> -w <adminpass> -f template.ldif

add attribute

dn: cn=Max Mustermann,ou=Users,dc=example,dc=com
changetype: modify
add: title
title: IT Administrator

edit attribute

dn: cn=Max Mustermann,ou=Users,dc=example,dc=com
changetype: modify
replace: telephoneNumber
telephoneNumber: +49 123 456789

delete object

dn: ou=othergroup,dc=dom,dc=local
changetype: delete

PHP LDAP Funktionen

ldap_8859_to_t61 --  Übersetzt 8859 Zeichen nach t61 Zeichen
ldap_add --  Einträge einem LDAP Verzeichnis hinzufügen
ldap_bind -- Bindung zu einem LDAP Verzeichnis
ldap_close -- Verbindung zum LDAP Server schliessen
ldap_compare --  Vergleicht gefundenen Wert eines Merkmal in einem Eintrag, der durch Angabe von dn bestimmt wird.
ldap_connect -- Verbindung zu einem LDAP Server
ldap_count_entries -- Zählt die Anzahl der Einträge bei einer Suche
ldap_delete -- Löscht einen Eintrag aus einem Verzeichnis
ldap_dn2ufn --  Konvertiert DN in ein benutzerfreundliches Namensformat
ldap_err2str --  Konvertiert eine LDAP Fehlernummer in einen Fehlertext
ldap_errno --  Liefert die LDAP Fehlernummer des letzten LDAP Kommandos
ldap_error --  Liefert die LDAP Fehlermeldung des letzten LDAP Kommandos
ldap_explode_dn --  Aufteilung eines DN in seine Bestandteile
ldap_first_attribute -- Liefert das erste Merkmal
ldap_first_entry --  Liefert die Kennung des ersten Ergebnisses
ldap_first_reference --  Liefert die erste Referenz
ldap_free_result --  Gibt den belegten Speicher wieder frei
ldap_get_attributes --  Liefert Merkmale eines Suchergebnis-Eintrags
ldap_get_dn -- Liefert den DN eines Ergebnis-Eintrags
ldap_get_entries -- Liefert alle Ergebnis-Einträge
ldap_get_option --  Liefert den aktuellen Wert für eine gegebene Option
ldap_get_values --  Liefert alle Werte eines Ergebnis-Eintrags
ldap_get_values_len --  Liefert alle binären Werte eines Ergebnis-Eintrags
ldap_list -- Einstufige Suche
ldap_mod_add --  Hinzufügen von Merkmalswerten zu aktuellen Merkmalen
ldap_mod_del --  Löschen von Merkmalswerten aktueller Merkmale
ldap_mod_replace --  Ersetzen von Merkmalswerten mit neuen Merkmalswerten
ldap_modify -- Verändern eines LDAP-Eintrags
ldap_next_attribute --  Liefert das nächste Merkmal im Ergebnis
ldap_next_entry --  Liefert den nächsten Eintrag des Ergebnisses
ldap_next_reference --  Holt die nächste Referenz
ldap_parse_reference --  Gewinnt Informationen aus einem Referenz-Eintrag
ldap_parse_result --  Gewinnt Informationen aus einem Ergebnis
ldap_read -- Lesen eines Eintrags
ldap_rename --  Verändert den Namen eines Eintrags
ldap_search -- Suche im LDAP Baum
ldap_set_option -- Setzt den Wert der gegebenen Option
ldap_set_rebind_proc --  Set a callback function to do re-binds on referral chasing.
ldap_sort --  Sortiert LDAP Ergebniseinträge
ldap_start_tls --  Startet TLS
ldap_t61_to_8859 --  Übersetzt t61 Zeichen nach 8859 Zeichen
ldap_unbind -- Unbind von einem LDAP Verzeichnis