выполнить ldapmodify с удаленного сервера

выполнить ldapmodify с удаленного сервера

Я пытаюсь выполнить ldapmodify с удаленного хоста, чтобы изменить записи на моем ldapmaster. Я уже установил slapd на своем хосте, потому что мне нужен двоичный файл mkntpwd, сервер не настроен, и я также установил ldap-utils для инструментов ldap. Когда я запускаю команду из оболочки, она работает нормально, но не из моего скрипта. Я выполняю команду из скрипта следующим образом:

.......
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
.......

Я также попробовал сделать это с помощью ldif-файла следующим образом:

.......
(
    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
.......

к сожалению, ни один из них не работает из моего скрипта. как я уже сказал, обе версии отлично работают из оболочки. Есть ли у вас какие-либо идеи, что я делаю не так?

Заранее спасибо

решение1

Я мог бы решить эту проблему, удалив пробелы в начале каждой строки, следующей за командой echo. С файлом ldif проблема была в том, что файл не был пустым, после его удаления все работало нормально. Большое спасибо

Проблему можно пометить как решенную.

Связанный контент