как настроить правильные учетные данные в OpenLDAP

Я не понимаю, как настраивать пользователей и пароли на сервере OpenLDAP. То, что я описываю в этом вопросе, основано на чистой установке OpenLDAP 2.4 на Centos 7 (через yum).

После запуска slapd я выполняю команду

[root@papp ~]# slapcat -n0 | grep olcRootDN
olcRootDN: cn=Manager,dc=my-domain,dc=com

Это говорит мне, что у нас уже есть пользователь root с dn cn = Manager, dc = my-domain, dc = com . У этого пользователя пароль не установлен.

[root@papp ~]# slapcat -n0 | grep olcRootPW

Затем я пытаюсь установить пароль вручную:

[root@papp ~]# ldappasswd -H ldap://localhost -x -D "dn=Manager,dc=my-           
domain,dc=com" -W -A -S  
Old password: (empty)
Re-enter old password: (empty)
New password: password
Re-enter new password: password
Enter LDAP Password: (what is that?? I use empty)
ldap_bind: Invalid DN syntax (34)
additional info: invalid DN

Что дает мне неверный DN. Это почему ? Я не вижу недопустимого DN. Означает ли это, что я не могу использовать команду ldappasswd для чистой установки OpenLDAP?

Затем я пытаюсь загрузить файл схемы

# /tmp/pass.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: password

[root@papp ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/pass.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={0}config,cn=config"

Теперь пароль установлен, что я могу подтвердить с помощью

[root@papp ~]# slapcat -n0 | grep olcRootPW
olcRootPW:: cGFzc3dvcmQ=

Однако поиск по-прежнему не работает

ldapsearch -D "cn=Manager,dc=my-domain,dc=com" -v -x -b '' -s base  '(objectClass=*)' -w password
ldap_bind: Invalid credentials (49)

Я также пытался использовать apache directory studio для просмотра моего дерева LDAP, но я могу подключиться к ldap только без аутентификации. Как только я использую простую аутентификацию с dn = cn = Manager, dc = my-domain, dc = com , я получаю ошибку аутентификации (недопустимые учетные данные).

0
задан 28 January 2016 в 04:14
1 ответ

Ну, первое, что нужно сделать для начала: не устанавливайте пароль в виде открытого текста, даже если конфигурация каким-то образом хэширует его. Сначала используйте slappasswd . Во-вторых, вы не можете использовать ldappasswd для диспетчера каталогов. В-третьих, я не уверен, но что-то мне подсказывает, что что-то еще неправильно сконфигурировано, и вы не объяснили, как вы изменили свой olcRootDN.

Я попытался повторить то, что вы сделали, но не смог воспроизвести те же ошибки или вопросы.

# yum install openldap-servers -y
# systemctl start slapd
# slappasswd
New password:
Re-enter new password: 
{SSHA}piJmuKxgnMh7DVBOQtCgz3/httcjc4kP

# /tmp/manager.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=manager,dc=angelsofclockwork,dc=net
-
replace: olcRootPW
olcRootPW: {SSHA}piJmuKxgnMh7DVBOQtCgz3/httcjc4kP

# ldapmodify -QY EXTERNAL -H ldapi:/// -f /tmp/manager.ldif

# ldapsearch -D "cn=Manager,dc=bromosapien,dc=net" -v -x -b '' -s base  '(objectClass=*)' -W -h localhost
ldap_initialize( ldap://localhost )
Enter LDAP Password:
filter: (objectClass=*)
requesting: All userApplication attributes
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectClass=*)
# requesting: ALL
#

#
dn:
objectClass: top
objectClass: OpenLDAProotDSE

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Возможно, вы захотите прочитать руководство, которое поможет вам пройти / понять шаги, которые вам необходимо предпринять. http://www.angelsofclockwork.net/wiki/centos/openldap.html

1
ответ дан 4 December 2019 в 16:42

Теги

Похожие вопросы