Я пытаюсь настроить сервер Ubuntu 12.04 так, чтобы пользователи с действительной учетной записью в удаленном ldap сервере могли войти в сервер человечности.
Я следовал этому руководству тесно: http://wiki.linuxquestions.org/wiki/Pam_ldap.
Когда я пробую к ssh в ту машину, это - то, что я вижу в /var/log/auth.log ПРЕЖДЕ, ЧЕМ ввести мой пароль:
Connection from 192.168.0.10 port 36624
Invalid user bentrupk from 192.168.0.10
input_userauth_request: invalid user bentrupk [preauth]
Однако с помощью анализатора пакетов, я также вижу успешный запрос к ldap серверу с помощью моего имени пользователя, которое возвращает мой DN в ldap.
Затем я ввожу свой пароль, но анализатор пакетов показывает, что ldap связывает запрос с правильным DN, но с паролем ".... НЕПРАВИЛЬНЫЙ".
Очевидно, это не пароль, что я ввел.
Я предполагаю, что это - проблема с 1 или больше моих pam.d файлов конфигурации.
Я задаюсь вопросом, существует ли подсказка от "Недействительного пользователя" в auth.log? Существует ясно запрос, выполненный к ldap серверу с именем пользователя, введенным ssh, прежде чем я введу свой пароль, который успешно возвращает корректную запись.
Однако это неясно мне, который происходит сначала: "Недействительный пользователь" в auth.log ИЛИ поиске ldap, замеченном в анализаторе пакетов (и только быть ясным у пользователя SSH нет локальной учетной записи).
Что я могу сделать, чтобы отладить это далее или подтвердить, что у меня есть правильная конфигурация?
Я делал неверное предположение о том, что делали модули PAM. Я предположил, что наличие учетной записи в LDAP на самом деле может привести к тому, что модуль создаст пользователя в системе (вероятно, на это повлиял мой опыт работы с webdev), так же, как он также может создать домашние каталоги (pam_mkhomedir
).
Однажды я создал пользователей локально, используя:
sudo adduser doej --disabled-password
Я смог войти с учетной записью doej в LDAP.
Между прочим, я нашел решение с использованием pam_exec
, которое позволило бы мне динамически создавать пользователей.
Нет необходимости в наличии локальных учетных записей, чтобы учетные записи ldap могли входить в систему.
Возможно, когда ему не удается найти подходящего пользователя в ldap, он возвращается к локально созданным учетным записям пользователей.
Недопустимая ошибка пользователя указывает на то, что поиск на вашем сервере ldap не возвращает учетную запись пользователя, с которой вы пытаетесь пройти аутентификацию.
Включите отладку на вашем сервере ldap: создайте файл ldiff с этими строками
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
и импортируйте файл ldif на ваш сервер ldap с помощью:
ldapadd -x -W -D 'cn=Manager,dc=pvpsc,dc=com' -f increaseverbosity.ldiff
[ 117] это будет записывать запросы ldap к вашему ldap в системный журнал вашего сервера. используйте инструмент ldapsearch для поиска на вашем сервере ldap и считывания имени пользователя. сравните успешный журнал с тем, который был создан неудачной аутентификацией.
чем отличается? Это, вероятно, где вы найдете ошибку.