LDAP Data Interchange Format

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Juli 2012 um 18:22 Uhr durch Aka (Diskussion | Beiträge) (zu großen Zeilenabstand entfernt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

LDIF (Abkürzung aus dem Englischen für LDAP Data Interchange Format) ist ein ASCII-basierendes Dateiformat zur Darstellung von Informationen aus einem LDAP-Verzeichnis.

LDAP beschreibt lediglich ein Kommunikationsprotokoll von Verzeichnisdiensten, die interne Darstellung der Daten in einem Verzeichnis ist nicht spezifiziert und somit bei konkreten Implementierungen verschiedener Hersteller unterschiedlich. Um dennoch einen einfachen Austausch von Daten auch zwischen heterogenen Verzeichnissen zu ermöglichen, wurde LDIF als Austauschformat spezifiziert.

Wie auch bei LDAP wurde bei der Entwicklung von LDIF darauf geachtet, das Format möglichst einfach zu gestalten. Durch die Beschränkung auf eine rein textuelle Darstellung bleibt das Format menschenlesbar und kann somit einfach interpretiert werden.

Ein LDAP-Objekt wird durch mehrere LDIF-Zeilen beschrieben. Am Anfang steht immer der distinguished name dn, der die absolute Position im LDAP-Baum angibt. Es folgen ein oder mehrere Objektklassen, die definieren, welche Attribute zulässig oder vorgeschrieben sind. Dann folgen die Attribut/Wert-Paare, die den eigentlichen Inhalt darstellen. Multi-Value Attribute werden mehrfach angegeben, dabei erfolgt ein Wert pro Zeile. Die Objekt-Definition wird durch eine Leerzeile abgeschlossen. Eine Zeile, die mit einem Hash-Zeichen (#) beginnt, stellt einen Kommentar dar und wird durch tools ignoriert. Lange Zeilen können umgebrochen werden, indem ein Zeilenumbruch gefolgt von einem Leerzeichen angegeben wird.

LDIF Formate

Es gibt zwei grundlegende LDIF-Formate, die innerhalb einer Datei auch frei gemischt werden können:

  • LDIF Content: Beschreibt Einträge als solche mit Attributen
  • LDIF Change: Beschreibt Änderungen an Einträgen und deren Attributen. Pro Einträg können mehrere verschiedene Anweisungen angegeben werden.

Beispiele

Beispiel: LDIF content Datei firmenstruktur.ldif mit fünf LDAP-Objekten:

dn: dc=structure-net, dc=de
objectclass: organization
objectclass: top
o: Structure Net
l: Hamburg
postalcode: 21033
streetaddress: Billwiese 22

dn: ou=Sales, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Sales
description: Verkauf
telephonenumber: 040-7654321
facsimiletelephonenumber: 040-7654321

dn: ou=Development, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Development
description: Entwicklung
telephonenumber: 040-7654321
facsimiletelephonenumber: 040-7654321

dn: ou=Support, dc=structure-net, dc=de
objectclass: organizationalunit
ou: Support
description: Support
telephonenumber: 040-7654321
facsimiletelephonenumber: 040-7654321

dn: uid=admin, dc=structure-net, dc=de
objectclass: person
objectclass: organizationalperson
objectclass: inetorgperson
cn: admin
cn: Systemverwalter
cn: Thomas Bendler
sn: Bendler
uid: admin
mail: tbendler@structure-net.de
l: Hamburg
postalcode: 21033
streetaddress: billwiese 22
telephonenumber: 040-7654321
facsimiletelephonenumber: 040-7654321

aus: Thomas Bendler: Linux LDAP-HOWTO.

Beispiel: LDIF content Datei mit Zeilenumbruch:

dn: ou=VeryLong,o=TestOrg,dc=de
objectclass: organizationalunit
ou: veryLong
description: Dies ist eine sehr lange Beschreibung. Sie ist so lang, dass sie hier->
 <- umgebrochen wird. Das laesst sich beliebig oft
 wiederholen. Dabei ist eg
 al, ob nur die Daten getrennt werden, oder auch attributsnamen: Trennen ist
 ueberall im LDIF-Text moeglich.

Beispiel: LDIF change Datei mit Kommentar:

# Vorhandene Beispielabteilung modifizieren: Beschreibung (Attribut description) hinzufügen
dn: ou=Example,o=TestOrg,dc=de
changeType: modify
add: description
description: Dies ist der Beschreibungstext
-

# Neuen LDAP-Eintrag anlegen
dn: cn=FooBar,ou=Example,o=TestOrg,dc=de
changeType: add
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: FooBar
sn: Bar
givenName: Foo
mail: foobar@testorg.de
telephonenumber: 1234 567890
-

Siehe auch