openldap 2.4.44。錯誤“-D 先前指定”

openldap 2.4.44。錯誤“-D 先前指定”

我嘗試從 ldap 根 DSE 中遞歸刪除第三個 DIT,因為不再需要它,但我在客戶的環境中收到以下錯誤:

host:~# ldapdelete -x -W -D cn=admin,cn=config -r -f /tmp/ldap-bck/delete.ldif

ldapdelete: -D previously specified

同樣的命令在我的 Virtualbox Centos 7.5 伺服器上的測試實驗室中運行得非常順利。但在 RHEL 7.6 的客戶環境中則不然。 openldap 版本號相同,2.4.44。我正在擺弄選項,更改了選項的順序,更改了 bindDN (-D) 和 DN 的“”和 '',正在使用 -c 和 -v 選項來查看更多...並且我無法解決問題...

首先我嘗試刪除 DN:

host:~# ldapdelete -x -W -D cn=admin,cn=config 'dc=x,dc=y,dc=z,dc=zzz'

然後我嘗試使用選項 -f :

host:~# ldapdelete -x -W -D cn=admin,cn=config -r -f /tmp/ldap-bck/delete.ldif

已嘗試兩個bindDN-s(cn = admin,cn = config和rootDN cn = admin,dc = x,dc = y,dc = z,dc = zzz以及,最後一個必須工作)。

嘗試過不使用 -D 參數 - 然後我得到:

host:~# ldapdelete -r -f /tmp/ldap-bck/delete.ldif

Enter LDAP Password:

ldap_delete: Insufficient access (50)

host:~# ldapdelete -r -c -f /tmp/ldap-bck/delete.ldif

Enter LDAP Password:

ldap_bind: Server is unwilling to perform (53)

 additional info: unauthenticated bind (DN with no password) disallowed

host:~# ldapdelete -r -v -f /tmp/ldap-bck/delete.ldif

ldap_initialize( ldapi:///??base )

Enter LDAP Password:

ldap_bind: Server is unwilling to perform (53)

  additional info: unauthenticated bind (DN with no password) disallowed

我想因為bindDN 和密碼,兩者都是需要的。 (我有密碼,正確的密碼,不可能有錯誤,因為目前所有 3 個 DIT 和設定資料庫使用相同的密碼。)

我已經嘗試過 -Y EXTERNAL 身份驗證,但這不起作用:

host:~# ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/ldap-bck/delete.ldif -n

ldapmodify: incompatible with authentication choice

所以我必須使用簡單的身份驗證。但是一旦我指定 -D 選項,我就會得到相同的錯誤。我嘗試使用 ldif 檔案對 ldapmodify 執行相同的操作。同樣的錯誤:

host:~# ldapmodify -D "cn=admin,cn=config" -x -W -f /tmp/ldap-bck/delete.ldif -n

host:~# ldapmodify -D "cn=admin,dc=x,dc=y,dc=z,dc=zzz" -x -W -f /tmp/ldap-bck/delete.ldif -n

然後我嘗試執行 ldapsearch 來檢查功能,但如果指定 -D 選項,則會出現相同的錯誤。

host:~# ldapsearch -x -D "cn=admin,dc=x,dc=y,dc=z,dc=zzz" -W -b 'dc=x,dc=y,dc=z,dc=zzz' '(objectclass=*)' -c

ldapsearch: -D previously specified

同樣的錯誤出現在 3 台 RHEL 伺服器(開發、測試和生產)上,因此這不僅僅是一台伺服器的奇怪行為。

我在“環境”中使用 SSL 憑證 - 因此在我的測試實驗室和客戶環境中。我的測試實驗室和客戶環境的 openldap 配置類似。

答案1

我在上述文件中沒有找到任何指定的binddn。但我們發現定義了別名...有人使用選項 -x -W -D -H 為其中一個 DIT 設定了 ldapadd、ldapdelete 等別名。所以我的這個 DIT 指令不能使用標準語法。當然,我的命令對其他 DIT 也不起作用......無論如何還是謝謝你

相關內容