PAM

набор подключаемых модулей, которые отвечают за аутентификацию в системе. По сути, это API, который операционная система или приложения могут использовать, чтобы отправить запросы на проверку подлинности пользователя. PAM расшифровывается как Pluggable Authentication Modules; перевод на русский — подключаемые модули аутентификации.

PAM разработана компанией Sun Microsystems и была представлена в 1995 году. Раньше в UNIX за авторизацию пользователя в систему отвечала программа login, которая принимала логин и пароль и сравнивала данные с данными в файле /etc/passwd. Теперь же, login не занимается аутентификацией, а просто передает задачу PAM, который с помощью набора своих или дополнительно подключенных алгоритмов проверяет подлинность пользователя и возвращает ответ.

Данный модуль можно встретить во многих операционных системах на основе UNIX, например, Ubuntu, CentOS, Debian, Red Hat, FreeBSD, Gentoo, Mac OS X, Solaris и многих других.

Настройка PAM выполняется в главном конфигурационном файле /etc/pam.conf и подключаемых из каталога /etc/pam.d, название каждого файла в котором точно соответствует названию программы, которая использует модуль pam для аутентификации. В некоторых системах, например, Linux CentOS, файла pam.conf может и не быть — настройка выполняется с помощью файлов в pam.d.

Пример стандартного файла для аутентификации в SSH:

cat /etc/pam.d/sshd

#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare

* синтаксис конфигурации — <Тип модуля> <Флаг контроля> <Путь к модулю> <Параметры модуля>

  • <Тип модуля> — варианты: auth (проверка наличия пользователя в системе), account (контроль распределения ресурсов системы), session (события, которые происходят до того, как произойдет авторизация), password (проверка подлинности).
  • <Флаг контроля> — варианты: required (требуется для успешной авторизации и если закончится ошибкой, то в целом pam вернет отказ), requisite (то же самое, что и required с резкой остановкой последующих правил), sufficient (достаточный для проверки подлинности, то есть если завершится успешно, pam вернет успех), optional (дополнительный модуль — результат его работы не влияет на ответ pam; может использоваться для вывода дополнительной информации), include (подключение строк из другого файла), substack (подключение строк из другого файла, но только того же типа, что наша строка).
  • <Путь к модулю> — путь может быть полным (от корня /) или относительно каталога /usr/lib/security и/или /usr/lib64/security.
  • <Параметры модуля> — для указания дополнительных параметров. Например, некоторым модулям можно передать файлы конфигурации.

Еще немного о PAM на Википедии

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago