Доброго времени суток!Операционная система - Fedora 2. Пытаюсь сделать систему аутентификации для домена на основе ldap, ну и собственно, прикрутить, по мере возможности, туда все сервисы. Какие смогу! Создал базу, загнал туда всех пользователей. На всякий случай, пока идет отладка, оставил пользователей с паролями в обычных файлах. Точно также пока идет тестирование оставил записи в nsswitch.conf как files ldap. Потом переделаю. Таким образом сначала пароль должен проверяться в файле shadow, а если не проходит, то в ldap. Вроде бы работает, но имеет место быть следующее:
- Во-первых, почему-то через ssh я не могу законнектиться другим пользователем кроме рута, хотя вроде бы должен. В логи пишет следующее:
sshd(pam_unix)[32173]: check pass; user unknown
sshd(pam_unix)[32173]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.1.1
Насколько мне известно, ssh не требует никаких специальных настроек для работы с ldap. Пользователь, под которым я пытаюсь залогиниться, существует только в ldap. Может в этом все дело? Хотя тогда получается, что ldap некорректно работает! Или pam! В чем может быть дело?- Во-вторых, при коннекте рутом в логи пишет, что происходит ошибка аутентификации, а потом открывает доступ:
sshd(pam_unix)[32210]: authentication failure; logname= uid=0 euid=0 tty=NODEVssh ruser= rhost=192.168.1.1 user=root
sshd(pam_unix)[32210]: session opened for user root by (uid=0).У меня для рута два пароля. Один в ldap, другой в shadow. Данная ошибка вылезает, когда вбиваю ldap пароль. Точно такая же ошибка вылезает, если коннекчусь любым другим пользователем локально. Если ввожу теневой пароль, то все нормально. Меня пускает, но эта ошибка уже начинает раздражать!
Какие-нибудь соображения имеются? Кто-нибудь сталкивался с подобным поведением?
очевидно, у тебя в PAM стоит проверять сначала shadow, затем ldap.
посмотри, что у тебя в /etc/pam.d
>очевидно, у тебя в PAM стоит проверять сначала shadow, затем ldap.
>посмотри, что у тебя в /etc/pam.dК сожалению, в pam я еще больший профан! :) Не подскажете, что тут неправильного?
----- sshd
#%PAM-1.0
auth required pam_stack.so service=system-auth
auth required pam_nologin.so
account required pam_stack.so service=system-auth
password required pam_stack.so service=system-auth
session required pam_selinux.so
session required pam_stack.so service=system-auth
session required pam_limits.so
session optional pam_console.so----- system-auth
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass
auth required /lib/security/$ISA/pam_deny.soaccount sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100
account required /lib/security/$ISA/pam_unix.so
account [default=bad success=ok user_unknown=ignore] /lib/security/$ISA/pam_ldap.sopassword requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5
shadow
password sufficient /lib/security/$ISA/pam_ldap.so use_authtok
password required /lib/security/$ISA/pam_deny.sosession required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_ldap.soНасколько я понимаю, pam файл system-auth должен меняться, если я использую authconfig?
sshd аутентифицируется через PAM - смотрим файл для sshd в /etc/pam.d, секцию auth. там - pam_stack.so service=system-auth => реально используется auth секция для system-auth. смотрим в system-auth секцию auth:
1) auth required /lib/security/$ISA/pam_env.so -- это нас сейчас не интересует2) auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok --- сначала проверяем пароль в shadow (или что там у тебя), если успешно - аутентификация прошла, если нет - получаем ошибку в лог файле и двигаемся на следующий модуль
3) auth sufficient /lib/security/$ISA/pam_ldap.so use_first_pass --- проверяем пароль в LDAP
Хм...Хорошо. А как же все таки мне избавиться от данной записи в логах? Насколько я понимаю, просто убрать модуль pam_unix я не могу, т. у меня авторизация в таком случае вообще не пройдет! Как я могу заставить пароль проверяться сначала в ldap, а потом уже в shadow. Замена местами files ldap в nsswitch.conf не проходит. Такая же ошибка!