
Надеюсь, у всех все хорошо.
Перейдем к сути: я настроил сервер LDAP и клиентские машины.
Сервер работает отлично, при выполнении поиска с клиентской машины он также получает запрос с сервера LDAP, но при переключении пользователя появляется сообщение, что пользователь не существует.
[root@ldapc ~]# su - babin
su: user babin does not exist
Я попробовал это с клиентской машины и получил следующий ответ
# ldapsearch -x -b dc=tecmintlocal,dc=com -h ldap.tecmintlocal.com
# extended LDIF
#
# LDAPv3
# base <dc=tecmintlocal,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# tecmintlocal.com
dn: dc=tecmintlocal,dc=com
dc: tecmintlocal
objectClass: top
objectClass: domain
# People, tecmintlocal.com
dn: ou=People,dc=tecmintlocal,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
# Group, tecmintlocal.com
dn: ou=Group,dc=tecmintlocal,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
# tecmint_gp1, Group, tecmintlocal.com
dn: cn=tecmint_gp1,ou=Group,dc=tecmintlocal,dc=com
objectClass: posixGroup
objectClass: top
cn: tecmint_gp1
userPassword:: YWRtaW4xMjMk
gidNumber: 20000
# babin, People, tecmintlocal.com
dn: uid=babin,ou=People,dc=tecmintlocal,dc=com
uid: babin
cn: babin babin
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: YWRtaW4xMjMk
shadowLastChange: 16120
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 20000
homeDirectory: /home/babin
# tecmintclient, People, tecmintlocal.com
dn: uid=tecmintclient,ou=People,dc=tecmintlocal,dc=com
uid: tecmintclient
cn: tecmintclient tecmintclient
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: YWRtaW4xMjMk
shadowLastChange: 16120
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 2000
gidNumber: 20000
homeDirectory: /home/tecmintclient
# search result
search: 2
result: 0 Success
# numResponses: 7
# numEntries: 6
решение1
Вы на самом деленастроенсистема для извлечения учетных записей пользователей из LDAP?
Для этого обычно требуется установить клиент LDAP nslcd
(например, nss-pam-ldapd), который будет поставляться с модулем NSS, который нужно добавить /etc/nsswitch.conf
(чтобы система использовала клиент LDAP для получения информации о пользователе).
(Вам также понадобится добавить модуль PAM для проверки паролей пользователей при входе в систему; это может быть pam_ldap
что-то более безопасное, например pam_krb5
.)
Если у вас уже установлен клиент LDAP, сначала убедитесь, что у него настроено правильное «базовое DN» (местоположение поиска), а также найдите различные параметры ведения журнала/отладки.
Также проверьте трафик LDAP, чтобы увидеть, какие поисковые запросы фактически выполняются, с помощью Wireshark:
tshark -n -Y ldap -VO ldap
.