Назад | Перейти на главную страницу

“getent passwd” enumerates users, “su <username>"Терпит неудачу</username>

У меня есть сервер 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. Использовать этот документ в качестве основы для его настройки.