Как использовать PAM для проверки пароля LDAP на некоторых пользователей, уже всегда используйте UID/ценурозы из локальных файлов?

Как насчет загрузки необходимый архив и затем делают как это: двуличность scp://uid@other.host//usr/backup restored_dir (пример от официального сайта)

6
задан 1 December 2013 в 02:51
1 ответ

Спасибо за обновление вашего вопроса, этот совет часто принимают неверно.

Ваши требования, как я их понимаю:

  • UID / GID поиск для всех пользователей должен выполняться для локальных файлов.
  • Аутентификация для конкретных пользователей должна сначала попробовать LDAP (Active Directory).

Вкратце: да, это возможно, но для этого требуется понимание того, как работают эти подсистемы и не полагаться на онлайн-HOWTO. Я собираюсь отослать вас к существующему моему ответу в качестве учебника. https://serverfault.com/a/538503/152073

NSS - это система, которая выполняет поиск UID и GID. Если вы не измените /etc/nsswitch.conf и не укажете ему использовать ldap или sssd , ваши системные вызовы будут полагаться на локальные файлы. Большинство плагинов PAM для LDAP совместно используют файл конфигурации с плагином NSS для LDAP, но это не имеет значения, если плагин NSS не используется NSS.

Ваше требование делать это только для определенных пользователей сложнее . Настройте PAM, чтобы попробовать pam_ldap.so (или pam_krb5.so , или pam_winbind.so ... в зависимости от того, что вы используете) как auth достаточный , непосредственно перед auth требовал pam_unix.so . достаточно означает «достаточно хорошо, остановитесь здесь» . Требуется означает «если мы зашли так далеко и этот тест не прошел, аутентификация не удалась».

Это простейший метод, но есть проблемы:

  1. Это приведет к блокировке пароля AD, если кто-то часто аутентифицируются локальным паролем, который не совпадает с паролем AD (т.е. они не проходят успешную аутентификацию в AD, как это часто бывает с другими системами).
  2. Это также не будет работать для ваших требований, если вы не хотите, чтобы действительные пароли AD были рассматривается для определенных пользователей.

Сообщите мне, действительно ли вам действительно, действительно, действительно нужно пройти аутентификацию по LDAP только для определенного списка пользователей. Это определенно возможно, но это усложнит конфигурацию PAM, и я уже предлагаю вам довольно много информации.


Расширяя ответ в соответствии с требованиями:

Моя рекомендация для жесткого контроля над тем, кто выполняет аутентификацию в AD, - использовать pam_access.so . Чтобы это работало, модули PAM AD и Unix должны быть смежными и именно в таком порядке. Поместите перед ними следующую строку:

auth    [success=ignore default=1] pam_access.so accessfile=/etc/security/somefile.conf noaudit

success = ignore означает «если этот тест завершится успешно, игнорируйте эту строку и продолжайте как обычно». default = 1 означает «во всех остальных случаях пропускать следующую строку». Вам нужно будет создать somefile.conf и определить список пользователей, которым разрешено использовать AD auth. Дополнительные сведения см. На странице руководства access.conf . Вы должны либо определить список всех пользователей в этом файле, либо создать локальную группу и проверить ее членство. Во всех случаях третье поле должно быть ALL . (например, +: что угодно: ВСЕ )

Ваше дополнительное требование (контролировать это с помощью группы безопасности AD) может быть реализовано одним из двух способов:

  1. Если ваш модуль PAM позволяет указать запрос LDAP, который вызовет auth проверки, которые нужно пропустить на основе членства в группе, используйте это. Это не то же самое, что отклонение пользователя через учетную запись , если пароль успешно введен!
  2. Компрометация при поиске GID, попадающем в активный каталог. Это означает, что у вас будет passwd точка поиска на ldap в /etc/nsswitch.conf , но вы добавите ldap строка в группу . Объект группы безопасности должен быть настроен так, чтобы его можно было распознать как группу Unix, либо путем применения соответствующего объектного класса (т. Е. posixGroup ) или настройку подключаемого модуля NSS для распознавания его как одного. Если у вас нет серьезного опыта работы с LDAP, вы можете просто передать это.

После того, как вы успешно настроили все до такой степени, что getent group показывает группу AD, вы можете изменить свой доступ к файлу для успеха на основе членства в этой группе.

9
ответ дан 3 December 2019 в 00:18

Теги

Похожие вопросы