openldap 2.4.44. Fehler „-D zuvor angegeben“

openldap 2.4.44. Fehler „-D zuvor angegeben“

Ich versuche, unseren dritten DIT rekursiv aus unserem LDAP-Root-DSE zu löschen, da er nicht mehr benötigt wird, erhalte jedoch in der Umgebung unseres Kunden den folgenden Fehler:

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

ldapdelete: -D previously specified

Derselbe Befehl funktioniert in meinem Testlabor auf meinem Virtualbox Centos 7.5-Server einwandfrei. Aber nicht in der Kundenumgebung auf RHEL 7.6. Die OpenLDAP-Versionsnummer ist dieselbe, 2.4.44. Ich habe mit den Optionen herumgespielt, die Reihenfolge der Optionen geändert, "" und '' für bindDN (-D) und DN geändert, die Optionen -c und -v verwendet, um mehr zu sehen ... und ich kann das Problem nicht lösen ...

Zuerst habe ich versucht, nur den DN zu löschen:

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

Dann habe ich es mit der Option -f versucht:

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

Habe zwei BindDN-s probiert (cn=admin,cn=config und auch den RootDN cn=admin,dc=x,dc=y,dc=z,dc=zzz, letzterer muss funktionieren).

Habe es ohne -D Parameter probiert - dann habe ich:

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

Ich nehme an, weil sowohl der BindDN als auch das Passwort benötigt werden. (Ich habe das Passwort, das richtige, ein Fehler ist nicht möglich, da derzeit für alle 3 DITs und die Konfigurationsdatenbank dasselbe Passwort verwendet wird.)

Ich habe die Authentifizierung -Y EXTERNAL versucht, aber das funktioniert nicht:

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

ldapmodify: incompatible with authentication choice

Ich muss also eine einfache Authentifizierung verwenden. Sobald ich jedoch die Option -D angebe, erhalte ich den gleichen Fehler. Ich habe versucht, dasselbe mit ldapmodify unter Verwendung einer ldif-Datei zu tun. Der gleiche Fehler:

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

Dann habe ich versucht, ldapsearch auszuführen, um die Funktionalität zu prüfen, aber derselbe Fehler tritt auf, wenn ich die Option -D angebe.

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

Und derselbe Fehler tritt auf drei RHEL-Servern (Entwicklung, Test und Produktion) auf. Es handelt sich also nicht nur um das seltsame Verhalten eines einzelnen Servers.

Ich verwende SSL-Zertifikate in beiden „Umgebungen“ – also in meinem Testlabor und in der Kundenumgebung. Die OpenLDAP-Konfiguration meines Testlabors und der Kundenumgebung ist ähnlich.

Antwort1

Ich habe in den erwähnten Dateien kein angegebenes Binddn gefunden. Aber wir haben einen definierten Alias ​​gefunden ... Jemand hat für einen der DITs dort mit den Optionen -x -W -D -H einen Alias ​​für ldapadd, ldapdelete usw. festgelegt. Und daher funktionierten meine Befehle für diesen DIT nicht mit der Standardsyntax. Und natürlich funktionierten meine Befehle auch nicht für die anderen DITs ... Trotzdem vielen Dank

verwandte Informationen