LDAP und OpenLDAP – zum Anfassen
Ein Verzeichnisdienst ist ein Baum aus Einträgen. Hier klickst du durch ein Beispielverzeichnis, zerlegst DNs, siehst die echten Bytes einer Suche, testest Filter und Zugriffsregeln und baust ein eigenes Schema – alles im Browser, ohne echten Server.
🧭Lernpfad
Baum verstehen
Grundlagen
Verzeichnisbaum, DN/RDN-Zerleger, Einträge, Attribute, Objektklassen
Protokoll sehen
Protokoll
Bind, Search, Add, Modify, Delete, ModRDN, Compare, StartTLS – mit echten BER-Bytes
Suchen können
Filter-Labor
Filter nach RFC 4515 parsen, als Baum zeigen und gegen Beispieldaten auswerten
Daten bewegen
LDIF
LDIF lesen, prüfen, Base64 und Zeilenumbruch, Änderungen anwenden
Server betreiben
OpenLDAP
slapd-Architektur, cn=config, ACL-Auswerter, Replikation, Werkzeuge
Schema lesen
Schemata
Attributtypen, Objektklassen, Syntaxen, Matching-Regeln, Vererbung
Schema erweitern
Eigene Schemata
Assistent: eigene Attribute und Objektklassen für slapd.conf und cn=config
Fehler finden
Tipps & Fehler
Result-Codes, Index-Berater, Loglevel, TLS
❓Was ist LDAP?
📡 Ein Protokoll
Das Lightweight Directory Access Protocol (aktuell Version 3, spezifiziert in RFC 4510 bis 4519) beschreibt, wie ein Client mit einem Verzeichnisserver spricht: anmelden (Bind), suchen, vergleichen, ändern. Standardport ist 389, mit TLS von Anfang an 636 (ldaps) oder 389 plus StartTLS.
🌳 Ein Datenmodell
Die Daten bilden einen Baum, den Directory Information Tree (DIT). Jeder Eintrag hat einen eindeutigen Namen (DN), Attribute mit einem oder mehreren Werten und Objektklassen, die festlegen, welche Attribute Pflicht (MUST) oder erlaubt (MAY) sind.
🛠️ OpenLDAP
Die freie Referenz-Implementierung: Der Server heißt slapd, die Daten liegen meist im Backend mdb, konfiguriert wird er über cn=config – selbst ein LDAP-Baum. Typische Einsätze: zentrale Benutzerkonten, Adressbücher, Anmeldung an Linux-Rechnern und Web-Anwendungen.
📚 Quellen: RFC 4510 – LDAP: Technical Specification Road Map · RFC 4511 – LDAP: The Protocol · RFC 4512 – LDAP: Directory Information Models · OpenLDAP Software 2.6 Administrator's Guide
🏢Die Beispieldaten: „Beispiel GmbH“
inetOrgPerson, 4 davon mit posixAccount; darunter „Schulz, Frank“ mit Komma im RDN
groupOfNames (vertrieb, technik, admins) und eine posixGroup
admin (rootdn), replicator (Replikation), mailserver (liest nur mail)
ou=people, ou=groups, ou=system unter dc=example,dc=org