230 likes | 558 Views
LDAP. Lightweight Directory Access Protocol. LDAP. Lightweight Directory Access Protocol Verzeichnisdienst => im Netzwerk verteilte hierarchische Datenbank, die auf dem Client-Server-Model basiert. Unterschiede Verzeichnisdienst - Datenbank.
E N D
LDAP Lightweight Directory Access Protocol
LDAP • Lightweight Directory Access Protocol • Verzeichnisdienst • =>im Netzwerk verteilte hierarchische Datenbank, die auf dem Client-Server-Model basiert
Unterschiede Verzeichnisdienst - Datenbank • Verzeichnisdienste sind leseoptimiert, Daten die sich ständig ändern, sollten daher in eine Datenbank • Eine Hauptoperation bei Verzeichnis-diensten: Suchen • Verzeichnisdienste können standortunabhängig sein (verteilt über mehrere Server)
Unterschiede Verzeichnisdienst - Datenbank • Aufbau eines Verzeichnisdienstes: Baumstruktur, keine Tabelle • Einträge sind Entries (LDAP-Objekte), keine Zeilen in Tabellen • Verzeichnisdienste haben oft vereinfachte und optimierte Zugangsprotokolle, keine aufwändige Programmiersprache
LDAP – was es nicht ist • Keine Datenbank • Keine Transaktionen • Keine regelmäßige Erneuerung der Daten • Nicht relational • Kein Dateisystem (nicht zur Ablage großer Datenmengen gedacht)
Baumstruktur: • Wurzel ist oberstes Datenobjekt, darunter verzweigen sich die anderen Strukturen • Sowohl die Attribute als auch die Objekte unterliegen festen Definitionen: einem LDAP- Schema • In diesen Schemata wird definiert, welche Objekte welche Attribute besitzen können. Außerdem ist dort festgelegt, welche Attribute vorhanden sein können und welche vorhanden sein müssen. • Einträge sind LDAP-Objekte, gehören meist zu mehreren Objektklassen
Objektklassen definieren, welche Attribute mit welchem Wertetyp erlaubt sind, z.B. JPEG-Fotos, Sounddaten, URLs,… • Kürzel für Attributtypen: • cn = common name • ou = organizational unit • s = state • c = country • mail = E-Mail-Adresse • Objekte sind durch einen Distinguished Name (DN) eindeutig voneinander zu unterscheiden (uid=juser, ou= People, ou = webdesign, c = de, o = acme). • Dieser DN setzt sich zusammen aus einzelnen Relative Distinguished Names (RDN)
LDAP - Protokoll • LDAP ist ein Kommunikationsprotokoll • es definiert den Transport und das Format von Nachrichten, die zwischen einem LDAP - Client und einem LDAP-Server bzw. einem X.500-artigem Verzeichnis ausgetauscht werden • Es ist oberhalb der Transportschicht (TCP) nach dem ISO/OSI-Referenz-Modell angesiedelt
LDAP-Protokoll • LDAP-Client initiiert Nach-richt an X.500 Verzeichnis- dienst mit Kommunikations-protokoll TCP/IP, der X.500-Server kommuniziert aber über OSI, daher brauchen sie den LDAP-Server, der wiederum Client des X.500-Server ist. Die beiden kommunizieren über OSI. • Protokoll bietet alle Funktionen, die für Abfrage notwendig sind: bind (Anmeldung), Suchabfrage und Modifikation (Änderung von Passwörtern)
Kommandozeilentools für LDAP-Server • ldapsearch – Suchen/Exportieren von Objekten • ldapadd – Hinzufügen von Objekten • ldapmodify – Ändern vorhandener Objekte • ldapdelete – Löschen vorhandener Objekte • ldappasswd – Passwort für ein (User-) Objekt setzen • ldapwhoami – Meine aktuelle LDAP-Identität
LDAP-Anwendungen • Adressbücher (Microsoft Outlook, Mozilla Thunderbirds,…) • Benutzerverwaltung (Apple Open Directory, Microsoft Active Directory Service) • Authentifizierung (PAM) • Verwaltung von Benutzerdaten für SMTP-, POP- und IMAP-Server und einige Mailserver (Sendmail, qmail, cyrus,…)