5. Модули PAM во FreeBSD

5.1. pam_deny(8)

Модуль pam_deny(8) является одним из простейших доступных модулей; на любой запрос он возвращает результат PAM_AUTH_ERR. Он полезен для быстрого отключения сервиса (добавьте его на верх каждой цепочки) или завершения цепочек модулей sufficient.

5.2. pam_echo(8)

Модуль pam_echo(8) просто передаёт свои параметры в функцию взаимодействия как сообщение PAM_TEXT_INFO. В основном полезна для отладки, но также может использоваться для вывода сообщений, таких как ''Unauthorized access will be prosecuted'' до запуска процедуры аутентификации.

5.3. pam_exec(8)

Модуль pam_exec(8) воспринимает первый переданный ему параметр как имя программы для выполнения, а остальные аргументы передаются этой программе в качестве параметров командной строки. Одним из возможных применений является его использование для запуска в момент регистрации в системе программы монтирования домашнего каталога пользователя.

5.5. pam_group(8)

Модуль pam_group(8) принимает или отвергает аппликантов в зависимости от их членства в определённой файловой группе (обычно wheel для su(1)). В первую очередь предназначен для сохранения традиционного поведения утилиты BSD su(1), хотя имеет и много других применений, таких как отключение определённых групп пользователей от некоторого сервиса.

5.6. pam_guest(8)

Модуль pam_guest(8) позволяет осуществлять гостевые входы с использованием фиксированных имён входа в систему. На пароль могут накладываться различные ограничения, однако действием по умолчанию является ввод любого пароля при использовании имени, соответствующего гостевому входу. Модуль pam_guest(8) можно легко использовать для реализации анонимных входов на FTP.

5.10. pam_login_access(8)

Модуль pam_login_access(8) предоставляет реализацию примитива для управления учётными записями, который вводит в действие ограничения на вход, задаваемые в таблице login.access(5).

5.11. pam_nologin(8)

Модуль pam_nologin(8) отвергает любые входы не пользователем root, если существует файл /var/run/nologin. Обычно этот файл создаётся утилитой shutdown(8), когда до запланированного завершения работы системы остаётся менее пяти минут.

5.12. pam_opie(8)

Модуль pam_opie(8) реализует метод аутентификации opie(4). Система opie(4) является механизмом работы по схеме запрос-ответ, при котором ответ на каждый запрос является прямой функцией от запроса и ключевой фразы, так что ответ может быть легко и ''вовремя'' вычислен любым, знающим ключевую фразу, что избавляет от необходимости передавать пароль. Кроме того, так как в opie(4) никогда повторно не используется запрос, ответ на который был корректно получен, эта схема является устойчивой к атакам, основанным на повторе действий.

5.13. pam_opieaccess(8)

Модуль pam_opieaccess(8) дополняет модуль pam_opie(8). Его работа заключается в выполнении ограничений, задаваемых файлом opieaccess(5), который определяет условия, при которых пользователь, нормально прошедший аутентификацию посредством opie(4), может использовать альтернативные методы. Чаще всего он используется для запрета использования аутентификации на основе паролей с непроверенных хостов.

Для эффективности модуль pam_opieaccess(8) должен быть определён в цепочке auth как requisite сразу же после записи sufficient для pam_opie(8), но перед любыми другими модулями.

5.15. pam_permit(8)

Модуль pam_permit(8) является одним из самых простым из имеющихся; на любой запрос он отвечает PAM_SUCCESS. Он полезен в качестве замены пустого места для сервисов, когда одна или большее количество цепочек в противном случае останутся пустыми.

5.18. pam_rootok(8)

Модуль pam_rootok(8) возвращает положительный результат в том и только в том случае, если реальный id пользователя процесса, его вызвавшего (предполагается, что его запускает аппликант) равен 0. Это полезно для несетевых сервисов, таких как su(1) или passwd(1), к которым пользователь root должен иметь автоматический доступ.

5.20. pam_self(8)

Модуль pam_self(8) возвращает положительный результат тогда и только тогда, когда имена аппликанта соответствуют целевой учётной записи. Больше всего это пригодится в несетевых сервисах, таких как su(1), в которых идентификация аппликанта может быть с лёгкостью проверена.

5.21. pam_ssh(8)

Модуль pam_ssh(8) предоставляет как сервис аутентификации, так и сеанса. Сервис аутентификации позволяет пользователям, имеющим секретные ключи SSH, защищённые паролями, в своих каталогах ~/.ssh, аутентифицироваться посредством этих паролей. Сеансовый сервис запускает ssh-agent(1) и загружает ключи, которые были расшифрованы на фазе аутентификации. Такая возможность, в частности, полезна для локальных входов в систему, как в систему X (посредством xdm(1) или другого X-менеджера входов, умеющего работать с PAM), так и на консоль.

5.23. pam_unix(8)

Модуль pam_unix(8) реализует традиционную аутентификацию UNIX® на основе паролей, использующую функцию getpwnam(3) для получения пароля целевой учётной записи и сравнивающую её с тем, что представил аппликант. Он также предоставляет средства управления учётными записями (отслеживая время действия учётной записи и пароля) и смены паролей. Наверное, это самый полезный модуль, так как подавляющее большинство администраторов хотят сохранить исторически сложившееся поведение по крайней мере некоторых сервисов.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.

Обновлено: 12.03.2015