Вход пользователя в любую систему состоит из нескольких этапов:
Эти операции выполняются для большого количества разных приложений в современных UNIX-like ОС. Это во-первых известное всем приложение login, авторизующее, в основном, локальных пользователей. Это sshd, а также некоторые другие демоны (некоторые реализации ftp, к примеру, умеют использовать PAM). Это утилиты passwd, утилиты изменения параметров пользователя (usermod/chfn/chsh). Это xdm/gdm/wdm. Это cron (ему это нужно, в первую очередь, чтобы правильно выставлять переменные окружения и лимиты для запускаемых процессов пользователя). Утилиты запуска процессов от другого пользователя su и sudo.
Дублировать один и тот же код сразу в группе утилит (например в su, login, sshd авторизация/аутентификация производится идентичным образом) это во-первых хороший способ сделать море ошибок, а во-вторых просто море удовольствия при попытке сменить систему авторизации (например при желании использовать LDAP).
Для того, чтобы решить эту проблему раз и навсегда была создана технология и сопутствующая инфраструктура PAM (Pluggable Authentication Modules).
В /lib/security располагается код самих подгружаемых модулей (pam_*.so). В /etc/pam.d располагаются файлы-сценарии для использования PAM из конкретных программ. Имя файла-сценария совпадает с именем программы, его использующей.
Формат строки сценария:
<тип модуля> <флаг контроля> <имя модуля> <параметры>
Тип модуля:
Флаг контроля указывает системе как обрабатывать удачное или неудачное завершение модуля:
Также в /etc/security находятся конфигурационные файлы, используемые некоторыми модулями.
Подсистема PAM это мощное и эффективное средство для удобства и реализации функциональности любой сложности для процесса аутентификации и авторизации пользователя. Знание принципов её работы необходимо для любого системного администратора Linux и Free BSD?.
Ссылок на эту страницу нет
(C) Денис Смирнов <mithraen@freesource.info> 21 Nov 2004
Размещение этого документа на других Internet-ресурсах, а также в печатных изданиях не допускается.
Отзывы — здесь вы можете высказать своё мнение по поводу содержимого сайта
подписаться? на статьи и новости с сайта FreeSource.Info
Ссылок на эту страницу нет