Я установил OpenLDAP на машину CentOS7, я могу войти в систему локально на сервере, поэтому пользователь существует (в passwd). Я также запускаю следующую команду LDAP:
#ldapsearch -h localhost -x cn=ldapuser01 -b "dc=example,dc=com"
и получаю результат:
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: cn=ldapuser01
# requesting: ALL
#
# ldapuser01, Group, example.com
dn: cn=ldapuser01,ou=Group,dc=example,dc=com
objectClass: posixGroup
objectClass: top
cn: ldapuser01
userPassword:: ffffsomesdatafff=
gidNumber: 1001
# ldapuser01, People, example.com
dn: uid=ldapuser01,ou=People,dc=example,dc=com
uid: ldapuser01
cn: ldapuser01
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: ffffffffffffffffffsome dataffffffffffffffffffffff
shadowLastChange: 17910
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/guests/ldapuser01
# search result
search: 2
result: 0 Success
# numResponses: 3
# numEntries: 2
поэтому пользователь существует даже в каталоге ldap.
Но когда я пытаюсь подтвердить подлинность
#ldapsearch -h localhost -x cn=ldapuser01 -b "dc=example,dc=com" -D "cn=ldapuser01,ou=Group,dc=example,dc=com" -w <my password>
Я получаю ошибку 49, неверные учетные данные
Как я могу это решить?
Дополнительная информация: я перенес локальных пользователей и группы с помощью инструментов миграции (чтобы создать файл .ldif), а затем добавил с помощью
ldapadd -x -W -D cn=Manager,dc=example,dc=com -f users.ldif
Если вы перенесли записи пользователей из локальных файлов passwd / group, вы пытаетесь использовать неправильную запись для привязки. "cn = ldapuser01, ou = Group, dc = example, dc = com"
Это DN группы linux ldapuser01, а не пользователя. Попробуйте использовать следующий DN
uid=ldapuser01,ou=People,dc=example,dc=com
например:-
#ldapsearch -h localhost -x cn=ldapuser01 -b "dc=example,dc=com" -D "uid=ldapuser01,ou=People,dc=example,dc=com" -w <my password>