オープンLDAP 2.4.44。エラー「-Dが以前に指定されました」

オープンLDAP 2.4.44。エラー「-Dが以前に指定されました」

不要になったため、LDAP ルート DSE から 3 番目の 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と同じです。オプションを操作中で、オプションの順序を変更し、バインディングDN(-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

2つのバインディングDNを試しました(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

私はバインドDNとパスワードのために両方が必要だと思います。 (パスワードがありますが、パスワードは正しいです。現在、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サーバー(開発、テスト、プロダクション)で同じエラーが発生するため、これは1つのサーバーでのみ奇妙な動作ではありません。

私は「環境」でSSL証明書を使用します。つまり、テストラボやクライアント環境でも同様です。私のテストラボとカスタマーエクスペリエンスも同様のopenldap設定を持っています。

ベストアンサー1

上記のファイルで指定されたバインドが見つかりませんでした。しかし、我々はエイリアスが定義されていることを発見しました。誰か -x -W -D -H オプションを使用して、DIT の 1 つに対して ldapadd、ldapdelete などのエイリアスを設定しました。したがって、私のDITコマンドは標準構文を使用できません。もちろん、私のコマンドは他のDITでも機能しません。とにかくありがとう

おすすめ記事