openldap 2.4.44. ошибка "-D ранее указан"

openldap 2.4.44. ошибка "-D ранее указан"

Я пытаюсь рекурсивно удалить наше третье DIT из нашего корневого DSE ldap, поскольку оно больше не нужно, но в среде нашего клиента я получаю следующую ошибку:

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-а (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, и пароль. (У меня есть пароль, правильный, ошибка невозможна, поскольку в настоящее время для всех трех DIT и базы данных конфигурации используется один и тот же пароль.)

Я попробовал аутентификацию -Y EXTERNAL, но это не работает:

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

ldapmodify: incompatible with authentication choice

Поэтому мне приходится использовать простую аутентификацию. Но как только я указываю опцию -D, я получаю ту же ошибку. Я пробовал сделать то же самое с ldapmodify, используя файл ldif. Та же ошибка:

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 (dev, test и prod), так что это не просто странное поведение одного сервера.

Я использую SSL-сертификаты в обеих "средах" - в моей тестовой лаборатории и в среде клиента. Конфигурация openldap моей тестовой лаборатории и среды клиента похожа.

решение1

Я не нашел никаких определенных binddn в упомянутых файлах. Но мы нашли определенный псевдоним... Кто-то установил псевдоним для ldapadd, ldapdelete и т. д. для одного из DIT с опциями -x -W -D -H. И поэтому мои команды для этого DIT не работали со стандартным синтаксисом. И, конечно, мои команды не работали и для других DIT... Спасибо в любом случае

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