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

Файл /etc/nsswitch.conf работает некорректно

У меня небольшая проблема с тем, как проходят аутентификацию мои пользователи.

Мой debian 7 подключен к серверу LDAP с помощью /etc/libnss-ldap.conf

У меня есть несколько локальных пользователей и несколько пользователей ldap.

В файле nsswitch.conf я хочу, чтобы пользователи сначала искали в «файлах» и только в «ldap», если они не найдены в «файлах».

Проблема в том, что для локального пользователя, выполняющего мониторинг (nagios), у меня есть таймауты для моих проверок. Когда я пытаюсь "su nagios", это занимает столько времени!

Когда я пробую "strace su nagios", я вижу, что к серверу LDAP поступает много запросов. Почему?

Вот содержимое nsswitch:

passwd:         files [SUCCESS=return] ldap
group:          files [SUCCESS=return] ldap
shadow:         files [SUCCESS=return] ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup: nis

Я подозреваю что-то в файлах, которые стоят в /etc/pam.d. вот содержимое некоторых файлов:

общий счет:

account [success=2 new_authtok_reqd=done default=ignore]    pam_unix.so broken_shadow
account [success=1 default=ignore]  pam_ldap.so 
account requisite           pam_deny.so
account required            pam_permit.so

common-auth:

auth    [success=2 default=ignore]  pam_unix.so nullok_secure
auth    [success=1 default=ignore]  pam_ldap.so use_first_pass
auth    requisite           pam_deny.so
auth    required            pam_permit.so
auth    optional    pam_mount.so 
auth    optional            pam_smbpass.so migrate

общий пароль:

password    [success=2 default=ignore]  pam_unix.so obscure sha512
password    [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
password    requisite           pam_deny.so
password    required            pam_permit.so
password    optional            pam_smbpass.so nullok use_authtok use_first_pass

Спасибо большое заранее

Стоило бы использовать strace и просмотр вывода, чтобы определить, с какой базой данных (passwd, group, other) su консультируется при выполнении поиска LDAP.

Похоже, он ищет в каталоге LDAP все группы, к которым принадлежит целевая учетная запись. Решение было установить nss_base_group в /etc/libnss-ldap.conf чтобы уменьшить пространство поиска.