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

PAM и LDAP с переменным базовым DN

У меня есть сеть компьютеров, которые используют LDAP для аутентификации пользователей (Free IPA v1.2). Я использую тот же сервер LDAP, но другое поддерево DN для внешних пользователей веб-портала. Я только что добавил новое стороннее веб-приложение, которое использует PAM для аутентификации пользователей, поэтому добавил

auth      required       pam_ldap.so
account   required       pam_ldap.so

к /etc/pam.d/new_webapp Файл конфигурации PAM. Проблема в том, что это использует /etc/ldap.conf который пытается аутентифицировать пользователей из система базовое DN (то есть пользователи, которые могут использовать ssh с именем пользователя / паролем), но вместо этого я бы хотел, чтобы он использовал другой базовый DN: тот, который связан с Веб-портал пользователей. Я надеялся /etc/pam_ldap.conf может помочь мне с этим, но не повезло. Что было бы красиво, если бы я мог сделать что-нибудь вроде:

auth      required       pam_ldap.so conf /etc/ldap_web.conf

или

auth      required       pam_ldap.so base "cn=accounts, cn=webportal, dc=example, dc=com"

Я ищу предложения, как я могу это решить. Единственное, что я могу придумать, - это скомпилировать альтернативу pam_ldap.so который смотрит на альтернативный файл конфигурации.

Заранее благодарим за любые отзывы по этой проблеме.

Ян

Вот исключение, которое я получаю, когда пытаюсь войти в систему с пользователем, который только на веб-портале (веб-i / f):

Apr 29 02:22:31 portal rserver[7341]: ERROR pam_authenticate failed: User not known to the 
underlying authentication module; LOGGED FROM: int server::pam_auth::
<unnamed>::PAMAuth::login(const std::string&, const std::string&)
/root/rstudio/src/cpp/server/ServerPAMAuth.cpp:201

И это ошибка, когда я пытаюсь войти в систему с пользователем, который делает иметь системную учетную запись:

Apr 29 02:22:48 portal rserver[7342]: ERROR pam_authenticate failed: Module is unknown;
LOGGED FROM: int server::pam_auth::<unnamed>::PAMAuth::login(const std::string&
const std::string&) /root/rstudio/src/cpp/server/ServerPAMAuth.cpp:201

Вы можете делать именно то, о чем просите. Использование:

auth        required       pam_ldap.so config=/etc/ldap_web.conf

Увидеть человек pagе для более подробной информации.