Einführung
LDAP ist ein Protokoll zur Verwaltung und Interaktion mit Verzeichnisdiensten. Das OpenLDAP-Projekt bietet einen LDAP-kompatiblen Verzeichnisdienst, der zum Speichern und Bereitstellen einer Schnittstelle für Verzeichnisdaten verwendet werden kann.
In diesem Handbuch wird das LDIF-Dateiformat erläutert, das für die Kommunikation mit LDAP-Verzeichnissen verwendet wird. Wir werden die Tools erläutern, mit denen Sie diese Dateien verarbeiten und die LDAP-Verzeichnisinformationsbaumstruktur basierend auf den angegebenen Befehlen ändern können.
Voraussetzungen
Bevor Sie mit diesem Handbuch beginnen, sollten Sie Zugriff auf einen OpenLDAP-Server haben. Sie erfahren, wie Sie einen OpenLDAP-Serverhere einrichten. Sie sollten mit der grundlegenden Terminologie vertraut sein, die beim Arbeiten mit einem LDAP-Verzeichnisdienst verwendet wird. This guide können verwendet werden, um sich mit diesen Themen vertraut zu machen.
LDIF-Format
LDIF oder das LDAP-Datenaustauschformat ist ein Textformat zur Darstellung von LDAP-Daten und -Befehlen. Bei Verwendung eines LDAP-Systems werden Sie wahrscheinlich das LDIF-Format verwenden, um Ihre Daten und die Änderungen anzugeben, die Sie am LDAP-DIT vornehmen möchten.
LDIF soll in der Lage sein, jeden Eintrag innerhalb eines LDAP-Systems sowie alle Änderungen, die stattfinden müssen, zu beschreiben. Aus diesem Grund ist die Syntax sehr präzise und kann zunächst etwas komplex erscheinen. Mit LDIF werden LDAP-Änderungen einfach in Dateien mit einem beliebigen Namen geschrieben und dann mit einem der verfügbaren Verwaltungsbefehle in das LDAP-System eingespeist.
LDIF verwendet ein einfaches Schlüsselwertsystem mit einer Anweisung pro Zeile. Die Taste befindet sich auf der linken Seite einer Zeile, gefolgt von einem Doppelpunkt (:) und einem Leerzeichen. Das Leerzeichen ist wichtig, damit die Zeile korrekt gelesen werden kann. Der Wert wird dann auf der rechten Seite zugewiesen. Dieses Format eignet sich gut für die LDAP-Syntax mit vielen Attributen, kann jedoch auch zum Ausgeben von Befehlen und zum Bereitstellen von Anweisungen zum Interpretieren des Inhalts verwendet werden.
Mehrere Zeilen können verwendet werden, um lange Werte für das Attribut bereitzustellen, indem die zusätzlichen Zeilen mit einem einzelnen Leerzeichen beginnen. LDAP verknüpft diese bei der Verarbeitung des Eintrags.
Einträge zum DIT hinzufügen
Es gibt zwei Möglichkeiten, einen neuen Eintrag in einer LDIF-Datei anzugeben. Die beste Methode für Ihre Anforderungen hängt von den Arten anderer Änderungen ab, mit denen Sie sich abstimmen müssen. Die Methode, die Sie auswählen, bestimmt die Tools und Argumente, die Sie verwenden müssen, um die Änderungen auf den LDAP-DIT (Verzeichnisinformationsbaum) anzuwenden.
Einträge auflisten, die zum DIT hinzugefügt werden sollen
Die grundlegendste Methode zum Definieren neuer Einträge zum Hinzufügen zu LDAP besteht darin, die Einträge einfach in ihrer Gesamtheit aufzulisten, genau so, wie sie normalerweise mit LDAP-Tools angezeigt würden. Dies beginnt mit dem DN (Distinguished Name), in dem der Eintrag nach dem Indikatordn:
erstellt wird:
dn: ou=newgroup,dc=example,dc=com
In der obigen Zeile verweisen wir auf einige Schlüssel-Wert-Paare, um den DN für unseren neuen Eintrag zu erstellen. Bei den Attributwerten vonsettingmüssen Sie den Doppelpunkt und das Leerzeichen verwenden. Beireferencing Attributen / Werten sollte stattdessen ein Gleichheitszeichen verwendet werden.
Im einfachsten LDIF-Format zum Hinzufügen von Einträgen zu einer DIT wird der Rest des Eintrags einfach unter Verwendung dieses Formats unter der DN-Definition ausgeschrieben. Die erforderlichen objectClass-Deklarationen und -Attribute müssen festgelegt werden, um einen gültigen Eintrag zu erstellen. Um beispielsweise eine Organisationseinheit zu erstellen, die die Einträge für die Mitarbeiter unserer Organisation enthält, könnten wir Folgendes verwenden:
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
Sie können mehrere Einträge in eine einzelne Datei einfügen. Jeder Eintrag muss durch mindestens eine vollständig leere Zeile getrennt sein:
dn: ou=People,dc=example,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=othergroup,dc=example,dc=com
objectClass: organizationalUnit
ou: othergroup
Wie Sie sehen, spiegelt dieses LDIF-Format fast genau das Format wider, das Sie beim Abfragen eines LDAP-Baums nach Einträgen mit diesen Informationen sehen würden. Sie können so ziemlich einfach schreiben, was der Eintrag wörtlich enthalten soll.
Verwenden Sie „Änderungstyp: Hinzufügen“, um neue Einträge zu erstellen
Das zweite Format, das wir betrachten werden, funktioniert gut, wenn Sie andere Änderungen in derselben LDIF-Datei vornehmen. OpenLDAP bietet Tools, die sowohl Hinzufügungen als auch Änderungen verarbeiten können. Wenn wir also andere Einträge in derselben Datei ändern, können wir unsere neuen Einträge als Hinzufügungen kennzeichnen, damit sie ordnungsgemäß verarbeitet werden.
Dies ähnelt der obigen Methode, aber wir fügenchangetype: add
direkt unter der DN-Spezifikation hinzu. Zum Beispiel könnten wir einem DIT, der bereits die Struktur vonou=People,dc=example,dc=com
enthält, einen John Smith-Eintrag hinzufügen, indem wir ein LDIF wie folgt verwenden:
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: add
objectClass: inetOrgPerson
description: John Smith from Accounting. John is the project
manager of the building project, so contact him with any que
stions.
cn: John Smith
sn: Smith
uid: jsmith1
Dies ist im Grunde das Format, in dem wir bisher Einträge beschrieben haben, mit Ausnahme einer zusätzlichen Zeile nach der DN-Angabe. Hier teilen wir LDAP mit, dass die Änderung, die wir vornehmen, eine Eintragserstellung ist. Da wir die Optionchangetype
verwenden, kann dieser Eintrag problemlos vom Toolldapmodify
verarbeitet werden, sodass wir Änderungen anderer Typen in derselben LDIF-Datei ablegen können. Die Optionchangetype
muss unmittelbar nach der DN-Spezifikation kommen.
Eine andere Sache, die oben zu beachten ist, ist die Verwendung eines mehrzeiligen Wertes für das Attributdescription
. Da die folgenden Zeilen mit einem Leerzeichen beginnen, werden sie mit dem entfernten Leerzeichen verbunden. Unsere erste Fortsetzungszeile in unserem Beispiel enthält ein zusätzliches Leerzeichen, das jedoch Teil des Satzes selbst ist und die Wörter „Projekt“ und „Manager“ voneinander trennt.
Wie im letzten Abschnitt wird jeder weitere Eintrag in derselben Datei durch eine Leerzeile getrennt. Kommentare können verwendet werden, indem die Zeile mit einem#
-Zeichen begonnen wird. Kommentare müssen in einer eigenen Zeile stehen. Wenn wir zum Beispiel Sally in dieselbe LDIF-Datei einfügen möchten, können wir die beiden Einträge wie folgt trennen:
# Add John Smith to the organization
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: add
objectClass: inetOrgPerson
description: John Smith from Accounting. John is the project
manager of the building project, so contact him with any qu
estions.
cn: John Smith
sn: Smith
uid: jsmith1
# Add Sally Brown to the organization
dn: uid=sbrown20,ou=People,dc=example,dc=com
changetype: add
objectClass: inetOrgPerson
description: Sally Brown from engineering. Sally is responsibl
e for designing the blue prints and testing the structural int
egrity of the design.
cn: Sally Brown
sn: Brown
uid: sbrown20
Eintragszusätze verarbeiten
Nachdem wir nun wissen, wie man LDIF-Dateien erstellt, um neue Einträge hinzuzufügen, müssen wir diese mit LDAP-Tools verarbeiten, um sie dem DIT hinzuzufügen. Das Werkzeug und / oder die Argumente, die Sie verwenden, hängen von der oben ausgewählten Form ab.
Wenn Sie das einfache Eingabeformat verwenden (ohne die Einstellungchangetype
), können Sie den Befehlldapadd
oder den Befehlldapmodify
mit dem Flag-a
verwenden, das einen Eintrag angibt Zusatz. Sie müssen entweder eine SASL-Methode verwenden, um sich bei der LDAP-Instanz zu authentifizieren (dies liegt außerhalb des Bereichs dieses Handbuchs), oder sich an ein Administratorkonto in Ihrer DIT binden und das erforderliche Kennwort angeben.
Wenn wir beispielsweise unsere Einträge aus dem einfachen Eintragsabschnitt in einer Datei namensnewgroups.ldif
speichern würden, würde der Befehl, den wir zum Verarbeiten der Datei und zum Hinzufügen der neuen Einträge benötigen würden, ungefähr so aussehen:
ldapadd -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f newgroups.ldif
Sie können auch die Kombinationldapmodify -a
für dasselbe Ergebnis verwenden:
ldapmodify -a -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f newgroups.ldif
Wenn Sie das Formatsecond mit der Deklarationchangetype
verwenden, möchten Sie den Befehlldapmodify
ohne das Flag-a
verwenden. Da dieser Befehl und dieses Format für die meisten anderen Änderungen verwendet werden können, ist die Verwendung für die meisten Änderungen wahrscheinlich einfacher. Wenn wir die beiden neuen Benutzerzusätze in einer Datei namensnewusers.ldif
speichern, können wir sie zu unserer vorhandenen DIT hinzufügen, indem wir Folgendes eingeben:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f newusers.ldif
Auf diese Weise können Sie Ihrem DIT nach Belieben Einträge hinzufügen. Sie können problemlos viele Einträge in einer einzigen LDIF-Datei speichern und Ihre DIT mit einem einzigen Befehl füllen.
Einträge aus dem DIT löschen
Wir hatten unseren ersten Blick auf die Optionchangetype
im letzten Abschnitt. Diese Option bietet die Methode zum Angeben des Modifikationstyps auf hoher Ebene, den wir vornehmen möchten. Beim Löschen eines Eintrags lautet der Wert dieser Option "Löschen".
Das Löschen von Einträgen ist die einfachste Änderung, die Sie durchführen können, da nur der DN als Information benötigt wird.
Wenn wir beispielsweise den Eintragou=othergroup
aus unserer DIT entfernen möchten, muss unsere LDIF-Datei nur Folgendes enthalten:
dn: ou=othergroup,dc=example,dc=com
changetype: delete
Um die Änderung zu verarbeiten, können Sie das genaue Format verwenden, das mitldapmodify
oben verwendet wurde. Wenn wir die Datei mit der Löschanforderungrmothergroup.ldif
aufrufen, wenden wir sie folgendermaßen an:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f rmothergroup.ldif
Dadurch wird der Eintragou=othergroup
ofort aus dem System entfernt.
Ändern der Attribute eines Eintrags
Das Ändern der Attribute eines Eintrags ist eine sehr häufige Änderung, die durch Angabe vonchangetype: modify
nach dem DN des Eintrags ermöglicht wird. Die Arten von Änderungen, die Sie an Attributen vornehmen können, spiegeln hauptsächlich die Änderungen wider, die Sie an einem Eintrag selbst vornehmen können. Aus diesem Grund werden die Details der Art der angeforderten Attributänderung anschließend mithilfe zusätzlicher Anweisungen angegeben.
Hinzufügen eines Attributs zu einem Eintrag
Sie können beispielsweise ein Attribut hinzufügen, indem Sie den Befehladd:
nachchangetype: modify
verwenden. Dies sollte das Attribut angeben, das Sie hinzufügen möchten. Sie würden dann den Wert des Attributs wie normal einstellen. Das Grundformat wäre also:
dn: entry_to_add_attribute
changetype: modify
add: attribute_type
attribute_type: value_to_set
Um beispielsweise einige E-Mail-Adressen zu unseren Konten hinzuzufügen, könnten wir eine LDIF-Datei haben, die so aussieht:
dn: uid=sbrown20,ou=People,dc=example,dc=com
changetype: modify
add: mail
mail: [email protected]
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: modify
add: mail
mail: [email protected]
mail: [email protected]
Wie Sie aus dem zweiten Eintrag ersehen können, können Sie mehrere Ergänzungen gleichzeitig angeben. Das Attributmail
erlaubt mehrere Werte, daher ist dies zulässig.
Sie können dies wie gewohnt mitldapmodify
verarbeiten. Wenn sich die Änderung in der Dateisbrownaddmail.ldif
befindet, können Sie Folgendes eingeben:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f sbrownaddmail.ldif
Ersetzen des Werts eines Attributs in einem Eintrag
Eine weitere häufige Änderung besteht darin, den vorhandenen Wert für ein Attribut zu ändern. Wir können dies mit der Optionreplace:
unterchangetype: modify
tun.
Dies funktioniert fast genauso wie der Befehladd:
, entfernt jedoch standardmäßig jedes vorhandene Vorkommen des Attributs aus dem Eintrag und ersetzt es durch die anschließend definierten Werte. Wenn wir beispielsweise feststellen, dass unser letzter Befehladd:
eine falsche E-Mail-Adresse hatte, können wir ihn mit dem Befehlreplace
wie folgt ändern:
dn: uid=sbrown20,ou=People,dc=example,dc=com
changetype: modify
replace: mail
mail: [email protected]
Beachten Sie, dass dies dieevery-Instanz vonmail
im Eintrag ersetzt. Dies ist wichtig für mehrwertige Attribute, die mehr als einmal pro Eintrag definiert werden können (z. B.mail
). Wenn Sie nur ein einzelnes Vorkommen eines Attributs ersetzen möchten, sollten Sie die Option des Attributsdelete:
(siehe unten) in Kombination mit der Option des Attributsadd:
(siehe oben) verwenden.
Wenn diese Änderung in einer Datei namenssbrownchangemail.ldif
gespeichert wurde, können wir Sallys E-Mail ersetzen, indem wir Folgendes eingeben:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f sbrownchangemail.ldif
Attribute aus einem Eintrag löschen
Wenn Sie ein Attribut aus einem Eintrag entfernen möchten, können Sie den Befehldelete:
verwenden. Sie geben das zu löschende Attribut als Wert der Option an. Wenn Sie eine bestimmte Instanz des Attributs löschen möchten, können Sie in der folgenden Zeile das bestimmte Vorkommen des Schlüsselwertattributs angeben. Andernfalls wird jedes Vorkommen dieses Attributs im Eintrag entfernt.
Dies würde beispielsweise jedes Beschreibungsattribut in John Smiths Eintrag löschen:
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: modify
delete: description
Dies würde jedoch nur die angegebene E-Mail löschen:
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: modify
delete: mail
mail: [email protected]
Da wir John zuvor zwei E-Mail-Adressen gegeben haben, sollte die andere E-Mail-Adresse durch diese Anfrage unverändert bleiben.
Wenn diese Änderungen in Dateien mit den Namenjsmithrmdesc.ldif
undjsmithrmextramail.ldif
enthalten wären, könnten wir sie anwenden, indem wir Folgendes eingeben:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f jsmithrmdesc.ldif
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f jsmithrmextramail.ldif
Angeben mehrerer Attributänderungen
Dies ist ein guter Zeitpunkt, um über das gleichzeitige Angeben mehrerer Attributänderungen zu sprechen. Für einen einzelnen Eintrag in einer LDIF-Datei können Sie mehrere Attributänderungen angeben, indem Sie sie durch eine Zeile trennen, die nur mit dem Zeichen-
gefüllt ist. Nach dem Trennzeichen muss der Attributänderungstyp angegeben und die erforderlichen Attribute angegeben werden.
Beispielsweise könnten wir Johns verbleibendes E-Mail-Attribut löschen, seinen Namen in "Johnny Smith" ändern und seinen Speicherort hinzufügen, indem wir eine Datei mit folgendem Inhalt erstellen:
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: modify
delete: mail
-
replace: cn
cn: Johnny Smith
-
add: l
l: New York
Um all diese Änderungen in einem Befehl anzuwenden, verwenden wir dasselbeldapmodify
-Format, das wir die ganze Zeit verwendet haben:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f multichange.ldif
Einträge umbenennen und verschieben
Mit der Optionchangetype: modrdn
können vorhandene Einträge umbenannt oder verschoben werden. Nachdem Sie diedn:
festgelegt haben, auf die Sie abzielen möchten, setzen Sie die Optionchangetype: modrdn
.
Eintrag umbenennen
Nehmen wir an, wir haben Sallys Benutzernamen falsch eingegeben, als wir ihn zum ersten Mal in das System eingegeben haben. Da dies im DN des Eintrags verwendet wird, kann es nicht einfach durch die Optionenchangetype: modify
undreplace:
ersetzt werden, da die RDN des Eintrags ungültig wäre. Wenn ihr wirklicher Benutzernamesbrown200
ist, können wir den DN des Eintrags ändern und dabei alle erforderlichen Attribute mit einer LDIF-Datei wie der folgenden erstellen:
dn: uid=sbrown20,ou=People,dc=example,dc=com
changetype: modrdn
newrdn: uid=sbrown200
deleteoldrdn: 0
Wir könnten diese Änderung mit diesem Befehl anwenden:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f fixsallydn.ldif
Dies würde den kompletten Eintrag ungefähr so aussehen lassen:
dn: uid=sbrown200,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
description: Sally Brown from engineering. Sally is responsibl
e for designing the blue prints and testing the structural int
egrity of the design.
cn: Sally Brown
sn: Brown
uid: sbrown20
uid: sbrown200
mail: [email protected]
Wie Sie sehen, wurde Ihr DM angepasst, um das neue Attribut / Wert-Paar zu verwenden. Das Attribut wurde dem Eintrag hinzugefügt, um dies zu ermöglichen.
Sie haben im obigen Beispiel möglicherweise zwei Dinge bemerkt. Zuerst setzen wir eine Option namensdeleteoldrdn
auf "0". Zweitens hat der resultierende Eintrag sowohluid: sbrown20
als auchuid: sbrown200
.
Die Optiondeleteoldrdn
muss festgelegt werden, wenn der DN eines Eintrags geändert wird. Wenn Siedeleteoldrdn
auf "0" setzen, behält LDAP das im DN verwendete alte Attribut neben dem neuen Attribut im Eintrag bei. Manchmal ist es das, was Sie möchten, aber oft möchten Sie das alte Attribut vollständig aus dem Eintrag entfernen, nachdem sich der DN geändert hat. Sie können dies tun, indem Sie stattdessendeleteoldrdn
auf „1“ setzen.
Stellen wir uns vor, wir hätten erneut einen Fehler gemacht und Sallys tatsächlicher Benutzername istsbrown2
. Wir könnendeleteoldrdn
auf "1" setzen, um die Instanz vonsbrown200
, die derzeit im DN verwendet wird, aus dem Eintrag nach dem Umbenennen zu entfernen. Wir werden ein zusätzliches Paarchangetype: modify
unddelete:
einfügen, um den anderen streunenden Benutzernamensbrown20
zu entfernen, da wir diesen beim ersten Umbenennen beibehalten haben:
dn: uid=sbrown200,ou=People,dc=example,dc=com
changetype: modrdn
newrdn: uid=sbrown2
deleteoldrdn: 1
dn: uid=sbrown2,ou=People,dc=example,dc=com
changetype: modify
delete: uid
uid: sbrown20
Wenden Sie die Datei folgendermaßen an:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f fix2sallydn.ldif
Diese Kombination fügt mit der Änderung keinen neuen Benutzernamen hinzu (sbrown200
wird entfernt), und die zweite Eintragsänderung entfernt den ursprünglichen Wert des Benutzernamens (sbrown20
).
Eintrag verschieben
Wenn Sie den Eintrag an einen neuen Speicherort verschieben müssen, ist die Optionnewsuperior:
eine zusätzliche Einstellung fürchangetype: modrdn
. Wenn Sie diese Option verwenden, können Sie eine neue Position auf dem DIT angeben, an die der Eintrag verschoben werden soll. Dadurch wird der Eintrag während der Änderung unter dem angegebenen übergeordneten DN platziert.
Wenn wir beispielsweise Sally unter den Eintragou=superusers
verschieben möchten, können wir diesen Eintrag hinzufügen und sie dann durch Eingabe von: dorthin verschieben.
dn: ou=superusers,dc=example,dc=com
changetype: add
objectClass: organizationalUnit
ou: superusers
dn: uid=sbrown2,ou=People,dc=example,dc=com
changetype: modrdn
newrdn: uid=sbrown2
deleteoldrdn: 0
newsuperior: ou=superusers,dc=example,dc=com
Angenommen, dies wird in einer Datei namensmksuperuser.ldif
gespeichert, könnten wir die Änderungen wie folgt anwenden:
ldapmodify -x -D "cn=admin,dc=example,dc=com" -w password -H ldap:// -f mksuperuser.ldif
Dies führt zu einem Umzug und niemals zu einer Kopie.
In diesem Fall wollten wir die RDN des Eintrags nicht ändern, daher setzen wir den Wert vonnewrdn:
auf den gleichen Wert, den er derzeit hat. Wir könnten uns aber auch während des Umzugs leicht umbenennen, wenn wir es wünschen. In diesem Fall ist die Einstellungnewsuperior:
die einzige Zeile der zweiten Änderung, die sich tatsächlich auf den Status des Eintrags auswirkt.
Nebenbei: Hinzufügen von Binärdaten zu einem Eintrag
Dieser Abschnitt unterscheidet sich von den obigen Informationen, da er in die Abschnitte zum Erstellen eines Eintrags oder zum Definieren zusätzlicher Attribute passen kann.
LDAP kann Binärdaten für bestimmte Attribute speichern. Beispielsweise erlaubt die KlasseinetOrgPerson
ein Attribut namensjpegPhoto
, mit dem das Foto oder das Benutzersymbol einer Person gespeichert werden kann. Ein weiteres Attribut dieser objectClass, das Binärdaten verwenden kann, ist das Attributaudio
.
Um diese Art von Daten zu einem LDAP-Eintrag hinzuzufügen, müssen Sie ein spezielles Format verwenden. Verwenden Sie beim Angeben des Attributs unmittelbar nach dem Doppelpunkt ein kleineres Zeichen (<) und ein Leerzeichen. Geben Sie anschließend den Pfad zu der betreffenden Datei an.
Wenn Sie beispielsweise eine Datei mit dem Namenjohn.jpg
im Verzeichnis/tmp
haben, können Sie die Datei mit einer LDIF-Datei, die folgendermaßen aussieht, zu Johns Eintrag hinzufügen:
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: modify
add: jpegPhoto
jpegPhoto:< file:///tmp/john.jpg
Achten Sie genau auf die Position des Doppelpunkts, weniger als Zeichen und Leerzeichen. Wenn sich Ihre Datei auf der Festplatte befindet, kann das Präfixfile://
verwendet werden. Der Pfad fügt einen zusätzlichen Schrägstrich hinzu, um das Stammverzeichnis anzugeben, wenn Sie einen absoluten Pfad verwenden.
Dies würde mit einer Audiodatei genauso funktionieren:
dn: uid=jsmith1,ou=People,dc=example,dc=com
changetype: modify
add: audio
audio:< file:///tmp/hellojohn.mp3
Sobald Sie die LDIF-Datei verarbeitet haben, wird die eigentliche Datei in Ihrem LDAP-Verzeichnisdienst verschlüsselt. Beachten Sie dies unbedingt, da sich das Hinzufügen einer großen Anzahl solcher Dateien auf die Größe und Leistung Ihres Dienstes auswirkt.
Wenn Sie die codierten Daten mit dem Toolldapsearch
abrufen müssen, müssen Sie das Flag-t
hinzufügen, damit die Datei in das Verzeichnis/tmp
geschrieben werden kann. Der generierte Dateiname wird in den Ergebnissen angezeigt.
Zum Beispiel könnten wir diesen Befehl verwenden, um die Binärdaten in eine temporäre Datei zu schreiben:
ldapsearch -LLL -x -H ldap:// -t -b "dc=example,dc=com" "uid=jsmith1"
Das Suchergebnis sieht folgendermaßen aus:
ldapsearch-Ausgabe
dn: uid=jsmith1,ou=People,dc=example,dc=com
objectClass: inetOrgPerson
sn: Smith
uid: jsmith1
cn: Johnny Smith
l: New York
audio:< file:///tmp/ldapsearch-audio-n5GRF6
Wenn wir in das Verzeichnis/tmp
gehen, können wir die Datei finden. Es kann nach Bedarf umbenannt werden und sollte sich in dem genauen Zustand befinden, in dem es sich befand, bevor es in das Verzeichnis eingegeben wurde.
Seien Sie vorsichtig, wenn Sie diesen Vorgang wiederholt ausführen, da bei jeder Suche eine neue Datei ausgeschrieben wird. Sie könnten leicht eine Diskette füllen, ohne es zu merken, wenn Sie nicht aufpassen.
Fazit
Inzwischen sollten Sie ein gutes Verständnis dafür haben, wie Sie die Einträge in einem LDAP-Verzeichnisinformationsbaum mit LDIF-formatierten Dateien und einigen Tools bearbeiten können. Während bestimmte LDAP-Clients LDIF-Dateien für den täglichen Betrieb möglicherweise überflüssig machen, können LDIF-Dateien die beste Möglichkeit sein, Batch-Vorgänge an Ihren DIT-Einträgen durchzuführen. Es ist auch wichtig zu wissen, wie Sie Ihre Einträge mit diesen Methoden zu Verwaltungszwecken ändern, wenn Sie den anfänglichen Verzeichnisdienst einrichten und Probleme beheben, die Clients möglicherweise daran hindern, korrekt auf Ihre Daten zuzugreifen.