LDAP

Aus xinux.net
Zur Navigation springen Zur Suche springen

Lightweight Directory Access Protocol

  • LDAP wurde 1995 an der University of Michigan als Alternative zu X.500 DAP entwickelt
  • Es ist eine leseoptimierte Datenbank
  • Ursprünglich nur Zugriffsprotokoll auf X.500 Server
  • Eine der Komponenten von Microsoft's Active Directory

Struktur


  • Am Anfang eine Baumes stehen die Domain Komponenten
  • Darunter stehen oft Organisations-Einheiten
  • Darunter können oft schon Blattobjekte stehen.
  • Alle Objekte werden durch einen eindeutigen Bezeichner gekennzeichnet.
  • Dieser nennt man auf Englisch Distinguish Name.
  • Man unterscheidet zwischen:
    • Containerobjekten: Enthält untergeordneten Objekten.
    • Blattobjekten: Endpunkte der Baumstruktur

Blattobjekt Beispiel

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 )
)

Aufbau

  • Informationen werden als Einträge in einem Baum, dem Directory Information Tree (DIT) dargestellt.
  • Jedes Objekt besitzt einen eindeutigen Distinguished Name
  • Jeder Eintrag gehört zu (mindestens) einer Objektklasse
  • Objektklassen werden durch ihre Attribute definiert
  • Ein Attribut besitzt einen Typ und einen oder mehrere Werte

Objektklassen

  • Eine Objektklasse stellt eine Kategorie von Objekten dar, wie z. B. Benutzer, Drucker oder Anwendungsprogramme, die gemeinsame Merkmale aufweisen.
  • Die Definition für jede Objektklasse enthält eine Liste der Attribute, mit denen Instanzen der Klasse beschrieben werden können.
  • Beispielsweise weist die Klasse Benutzer Attribute wie givenName, surname und streetAddress auf.
  • Die Liste der Attribute für eine Klasse ist unterteilt in die Attribute, die ein Objekt der Klasse enthalten muss, und in weitere Attribute, die ein Objekt enthalten kann.

Attribute

  • Im Schema werden auch alle Attribute definiert.
  • Die Definition jedes Attributs enthält eindeutige Bezeichner für das Attribut und die Syntax des Attributs
  • Desweiteren gibt es optionale Bereichsgrenzen für die Attributwerte: ob das Attribut nur einen oder mehrere Werte aufweisen kann sowie ob das Attribut indiziert ist.
  • Jedes Attribut wird im Verzeichnisschema genau einmal definiert
  • Anschließend kann von mehreren Objektklassen auf jedes Attribut verwiesen werden
  • So ist beispielsweise das description-Attribut einmal definiert
  • Anschließend wird von mehreren Objektklassen darauf verwiesen

Schema

Ein Schema definiert die folgenden Punkte:

  • Attributstypen
  • Objektklassen
  • Filter- und Matching-Regeln bei Vergleichsoperationen
  • Rechte zum Anlegen oder Modifizieren von Datensätzen

Installation