Führen Sie „ldapmodify“ vom Remote-Server aus durch

Führen Sie „ldapmodify“ vom Remote-Server aus durch

Ich versuche, ein ldapmodify von einem Remote-Host aus auszuführen, um Einträge auf meinem ldapmaster zu ändern. Ich habe slapd bereits auf meinem Host installiert, da ich die mkntpwd-Binärdatei benötige, der Server ist nicht konfiguriert und ich habe auch ldap-utils für die LDAP-Tools installiert. Wenn ich den Befehl von der Shell aus ausführe, funktioniert er einwandfrei, aber nicht von meinem Skript aus. Ich führe den Befehl vom Skript aus wie folgt aus:

.......
echo "dn: ou=xxx,dc=yyy,dc=zzz 
changetype: modify
replace: attribute
attribute: ${newValue}" \
    | ldapmodify -D "${ldapadmindn}" -w "${ldappassword}" -x -H ldaps://myldapmaster:636 >/dev/null 2>&1
.......

Ich habe es auch mit einer LDIF-Datei folgendermaßen versucht:

.......
(
    echo "dn: ou=xxx,dc=yyy,dc=zzz"
    echo "changetype: modify"
    echo "replace: attribute"
    echo "attribute: ${newValue}"
) >> file.ldif
ldapmodify -D "${ldapadmindn}" -w "${ldappassword}" -x -H ldaps://myldapmaster:636 -f file.ldif >/dev/null 2>&1
.......

leider hat weder das eine noch das andere von meinem Skript aus funktioniert. Wie gesagt, beide Versionen funktionieren von der Shell aus einwandfrei. Haben Sie eine Idee, was ich falsch mache?

Danke im Voraus

Antwort1

Ich konnte dieses Problem lösen, indem ich die Leerzeichen am Zeilenanfang jeder Zeile nach dem Echo-Befehl entfernte. Bei der ldif-Datei bestand das Problem darin, dass die Datei nicht leer war, nach dem Löschen funktionierte sie einwandfrei. Vielen Dank

Das Problem kann als gelöst markiert werden

verwandte Informationen