ldapadd / ldapmodify: Erläuterungen zu diesen Befehlen

7

Auf der ldapmodifyManpage heißt es:

Die Standardeinstellung für ldapmodify ist das Ändern vorhandener Einträge

Wenn ich jedoch versuche, eine LDIF-Datei mit zu importieren ldapmodify, wird der folgende Fehler angezeigt :

ldapmodify: modify operation type is missing at line X

Frage 1: Warum, welche Argumente sollte ich meinem Befehl ldapmodify hinzufügen?

Wenn ich eine LDIF-Datei mit importiere ldapaddund der Eintrag bereits vorhanden ist, wird der folgende Fehler angezeigt:

ldap_add: Already exists (68)

Dies kann mit dem -cSchalter ignoriert werden (zum Fortfahren), ldap_add aktualisiert jedoch keine vorhandenen Einträge. Stattdessen sollte man zum Aktualisieren vorhandener Einträge verwenden ldapmodify, jedoch ldapmodifykeine fehlenden Einträge hinzufügen.

F2: Gibt es eine Möglichkeit, LDIF-Dateien zu importieren, indem fehlende Einträge erstellt UND vorhandene gleichzeitig aktualisiert werden?

Max
quelle

Antworten:

11

Das ldif für ldapmodify hat eine andere Syntax als ein reguläres ldif. Zum Beispiel: Wenn Sie den Eintrag 'foo' mit dem Wert 'bar' hinzufügen möchten, sollten Sie Ihr ldif wie folgt schreiben:

dn: cn=ToModify,dc=example,dc=com
changetype: Modify
add: foo
foo: bar

replace: mail
mail: [email protected]

delete: unneededEntry

Dieses ldif fügt das Attribut foo mit Wertleiste hinzu, aktualisiert das Mail-Attribut auf [email protected] und löscht den nicht benötigten Eintrag. Rufen Sie dann den Befehl ldapmodify auf.

ldapmodify -f update.ldif 

(falls erforderlich mit anderen Optionen wie zum Beispiel einfacher Authentifizierung)

Goez
quelle
Vielen Dank. Können Sie Q2 überhaupt kommentieren?
Max
Soweit ich weiß, ist dies nicht möglich, daher haben Sie die 2 Tools ... ldapmodify für vorhandene Einträge, ldapadd, um neue hinzuzufügen.
Goez
Das ist auch der Eindruck, den ich bekam. Da ich den vorhandenen LDAP-Inhalt vor dem Import nicht beibehalten muss, werde ich LDAP mit ldapdeletelöschen und dann das LDIF mit importieren slapadd.
Max
1

Goez Antwort scheint in Ordnung zu sein.

Wenn Sie jedoch mit ldif nicht vertraut sind, kann die Verwendung sinnvoll sein

ldapvi

stattdessen. Sie können bereits vorhandene Einträge bearbeiten oder neue hinzufügen.

apt-get install ldapvi
cstamas
quelle
Danke, aber es vergrößert sich nicht. Für die Bearbeitung einzelner Einträge würde ich lieber so etwas wie dieses Verzeichnis verwenden.apache.org/studio .
Max
1

Probieren Sie den Schalter -a aus

Add or modify options:
  -a         add values (default is to replace)
tok
quelle