У меня есть сервер LDAP с двумя бэкэндами BDB. Учетные записи пользователей разделены между двумя бэкэндами. Backend A имеет объект направления на Backend B.
Я попытался настроить аутентификацию клиента LDAP на Linux Mint 13. getent passwd перечисляет пользователей между Backend A и Backend B, но при использовании su - su возвращает «Unknown id». Хотя использование su с идентификатором пользователя из Backend A работает нормально.
Ниже мой /etc/ldap/ldap.conf в клиенте (Linux Mint 13):
base dc=backendA
uri ldaps://ldap.x.example.com
ldap_version 3
binddn cn=auth,dc=backendA
bindpw admin@123
referrals yes
И файл /etc/ldap.conf в клиенте:
base dc=backendA
uri ldaps://ldap.x.example.com
ldap_version 3
binddn cn=auth,dc=backendA
bindpw admin@123
rootbinddn cn=admin,dc=backendA
pam_password md5
deref always
referrals yes
nss_base_passwd ou=users,dc=backendA?one
nss_base_shadow ou=users,dc=backendA?one
nss_base_group ou=roles,dc=backendA?one
nss_base_passwd ou=users,dc=backendB?one
nss_base_shadow ou=users,dc=backendB?one
nss_base_group ou=roles,ou=users,dc=backendB?one
Что могло быть не так?
getent passwd - это всего лишь его часть, он сообщает, что система может видеть пользователя и что ldap работает, но su может также использовать PAM, и PAM имеет собственный набор правил, а не только список пользователей системы. Поскольку вы используете MINT, вы наверняка используете PAM.
проверьте файл /etc/pam.d/su и все загружаемые им файлы. вам наверняка не хватает там конфигурации ldap. Использовать этот документ в качестве основы для его настройки.