LDAP Grundlagen

Baumhierarchie, Blattobjekt-Aufbau und Schema — Schritt für Schritt

1. Baumhierarchie
2. Blattobjekt-Aufbau
3. Schema

Directory Information Tree (DIT)

Ein LDAP-Verzeichnis ist eine Baumhierarchie. Ganz oben stehen die Domain-Komponenten (Basis), darunter meist Organisations-Einheiten als Container-Objekte, und darunter — oder direkt unter der Basis — die Blattobjekte, die Endpunkte des Baums.

Basis
dc=it100,dc=int
Container-Objekt
ou=users
Container-Objekt
ou=groups
Container-Objekt
ou=hosts
Blattobjekt
cn=xinux
Blattobjekt
cn=schmidt
Container-Objekt (hat Kinder) Blattobjekt (Endpunkt, kein Kind)

Vom Container bis zum Attributwert

Jedes Objekt hat einen eindeutigen Distinguished Name (DN). Ein Blattobjekt gehört zu einer Objektklasse, die festlegt, welche Attribute vorhanden sein müssen (MUST) und welche optional sind (MAY).

Container-Objekt
DN: ou=users,dc=it100,dc=int
Blattobjekt
DN: cn=xinux,ou=users,dc=it100,dc=int
Objektklasse
objectclass: posixAccount
muss vorhanden sein →
Attribut: uidNumber
1007 — Wert muss 0–65535 sein
kann vorhanden sein →
Attribut: gecos
"Xinux Technik" — Wert muss String sein
objectclass (
    1.3.6.1.1.1.2.0
    NAME 'posixAccount'
    DESC 'Abstraction of an account with POSIX attributes'
    SUP top
    AUXILIARY
    MUST ( cn $ uid $ uidNumber $ gidNumber $ homeDirectory )
    MAY ( userPassword $ loginShell $ gecos $ description )
)

Was ein Schema definiert

Das Schema ist das Regelwerk des Verzeichnisses. Es legt fest, welche Objektklassen und Attribute es gibt und wie mit ihnen umgegangen werden darf.

Attributstypen

Definition jedes Attributs

Eindeutiger Bezeichner, Syntax des Attributs, ob mehrwertig, ob indiziert. Jedes Attribut wird genau einmal im Schema definiert und kann dann von mehreren Objektklassen referenziert werden — z. B. description.

Objektklassen

Kategorien von Objekten

Eine Objektklasse wie posixAccount beschreibt eine Kategorie (Benutzer, Drucker, Anwendung) über eine Liste von MUST- und MAY-Attributen.

Filter- & Matching-Regeln

Vergleichsoperationen

Legt fest, wie Werte bei Suchfiltern verglichen werden (z. B. case-sensitive, case-insensitive, substring-Vergleich).

Rechte

Anlegen & Modifizieren

Bestimmt, wer Einträge anlegen oder verändern darf — die Zugriffskontrolle auf Objekt- und Attributebene.