FreeSource: Технологии/PAM/Введение

Pluggable Authentication Modules (PAM)

Причины

Вход пользователя в любую систему состоит из нескольких этапов:

Эти операции выполняются для большого количества разных приложений в современных 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

Ссылок на эту страницу нет