Администрирование ОС Solaris

       

Модули PAM


Механизм аутентификации PAM основан на модулях аутентификации. Сейчас можно уже называть его отраслевым стандартом, так как PAM поддерживается в Linux, FreeBSD, Solaris и HP-UX, а также в ряде других менее распространенных систем UNIX.

Со стороны приложения PAM предоставляет API для обращения к функциям аутентификации.

Программа (login, su, ftp, httpd и т.п.) вызывает функцию PAM API в ситуации, требующей провести аутентификацию. С другой стороны (со стороны модуля аутентификации), PAM располагает интерфейсом SPI (Service Provider Interface), через который вызов API транслируется к источнику аутентификации (файлу /etc/passwd, серверу TACACS и т.п.).

API является общим для всех программ, а SPI содержит по одному модулю на каждый вариант аутентификации (один - через /etc/passwd, другой - через Kerberos и т.п.).


Рис. 20.1. Архитектура PAM

С помощью PAM системный администратор может установить свой способ аутентификации для любой сетевой службы. Более того, спектр способов весьма широк. Наиболее впечатляющей, на мой взгляд, является возможность аутентификации через базу данных о пользователях любого домена Windows NT или Windows 2000.

Самой важной возможностью PAM является гибкость настройки аутентификации. Системный администратор может указать любой способ аутентификации для любой программы. Правда, при этом необходимо, чтобы программа поддерживала аутентификацию через PAM. Например, web-сервер может не уметь работать с PAM. Однако Apache умеет это делать, хотя для этого требуется загружать отдельный модуль Apache.

В Solaris настройки PAM хранятся в файле /etc/pam.conf. Во многих других системах UNIX допускается также хранение настроек в каталоге /etc/pam.d/. Если такой каталог существует, то подпрограммы PAM игнорируют содержимое /etc/pam.conf.

Аутентификацию через PAM используют программы login, passwd, su, rlogind, rshd, telnetd, ftpd, rpc.rexd, uucpd, init, sac, cron, ppp, dtsession, ssh и ttymon. Программа dtlogin, которая является службой входа в сеть в графической среде Common Desktop Environment (CDE), тоже использует PAM.

Модули PAM могут располагаться в любых каталогах, однако негласное правило требует, чтобы файл имел имя, начинающееся с pam, pam_modulename.so.x, например pam_smb_auth.so.6, и хранился в подкаталогах каталога /usr/lib/security/.



Содержание раздела