Ldap
從遠端伺服器執行 ldapmodify
我正在嘗試從遠端主機執行 ldapmodify 以修改我的 ldapmaster 上的條目。我已經在我的主機上安裝了 slapd,因為我需要 mkntpwd 二進製文件,伺服器沒有配置,我還為 ldap 工具安裝了 ldap-utils。當我從 shell 執行命令時,它可以正常工作,但不能從我的腳本中執行。我正在執行腳本中的命令,如下所示:
....... 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 .......
不幸的是,我的腳本既沒有工作也沒有工作。正如我所說,這兩個版本都可以在 shell 中正常工作。你知道我做錯了什麼嗎?
提前致謝
我可以通過刪除 echo 命令後每行開頭的空格來解決此問題。使用 ldif 文件的問題是該文件不是空的,刪除它後,它工作正常。非常感謝
問題可以標記為已解決