Структура подсистемы PAM - присоединяемых модулей аутентификации
Новая модель аутентификации - присоединяемые модули аутентификации (PAM, Pluggable Authentication Modules) - была предложена в 1995 году сотрудниками SunSoft Самаром (V. Samar) и Шемерсом (R. Schemers). Эта модель предполагала, что любое приложение будет работать со стандартным интерфейсом аутентификации, а механизм аутентификации сможет быть различным - для аутентификации в разных базах данных пользователей (NIS, TACACS, файлах /etc/passwd и /etc/shadow, контроллерах домена Microsoft Windows и т.п.). Более того, предполагалось, что системный администратор должен иметь возможность выбрать, какой вид аутентификации будет использоваться в системе по умолчанию и/или для каждой из служб в отдельности: от ввода текстового пароля до биометрической проверки и использования смарт-карт.
Возможность индивидуальной настройки аутентификации для каждого из приложений, требующих ее, - это большой шаг вперед к гибкой настройке системы. Например, все базовые службы можно аутентифицировать по умолчанию, через ввод пароля, а что-то нестандартное или особо секретное (доступ к настройкам фильтра пакетов, например) - специальным образом.
В PAM с каждым приложением можно связать не один, а несколько механизмов аутентификации, например, потребовать от пользователей аутентифицироваться и через Kerberos, и через RSA.
Общий интерфейс системы аутентификации для всех приложений означает, что системные подпрограммы, полагающиеся на систему аутентификации, не зависят от изменений этой системы.
Архитектура PAM - модульная, и позволяет добавить любой модуль с поддержкой какого угодно алгоритма аутентификации, но при этом для обратной совместимости PAM API поддерживает ранее существовавшие вызовы подпрограмм аутентификации.
Добавление PAM в Solaris не означает, что системный администратор обязан специальным образом настраивать систему аутентификации, PAM лишь предоставляет такую возможность. Если нет желания переделывать настройки по умолчанию, то для пользователей все останется, как было раньше. А системный администратор будет помнить, что каталог /etc/pam.d, в котором хранятся настройки PAM, трогать не следует.