
Файлы конфигурации PAM
PAM (Pluggable Authentication Modules) — это система, которая позволяет управлять аутентификацией и доступом в Linux. Конфигурационные файлы в каталоге /etc/pam.d/
задают правила для различных сервисов и приложений, таких как вход в систему, смена пароля, использование sudo и т.д.
Каждый файл в каталоге /etc/pam.d/
управляет настройками аутентификации для соответствующего сервиса. Например:
common-auth
: Общие настройки аутентификации.common-password
: Общие правила для управления паролями.common-session
: Управление сессиями пользователей.passwd
: Конфигурация для команды смены пароля.sshd
: Настройки аутентификации для SSH.sudo
: Правила для командыsudo
.login
: Настройки для входа в систему через терминал.
Каждый файл может включать модули PAM для аутентификации, контроля доступа и настройки сессий, что позволяет гибко настраивать безопасность и доступ в систему.
atd
Конфигурация PAM для службы atd, которая запускает задания, запланированные командой at
.
# Пример содержимого файла /etc/pam.d/atd
auth required pam_env.so
auth required pam_unix.so
account required pam_unix.so
- pam_env.so: Устанавливает переменные окружения для сеанса.
- pam_unix.so: Обеспечивает аутентификацию и управление доступом с использованием стандартных Unix-аккаунтов.
Пример: Задача, запланированная через at
, будет проверять доступность пользователя по этим правилам.
chfn
Настройки PAM для команды chfn, которая позволяет пользователю изменить информацию о себе (например, имя).
# Пример содержимого файла /etc/pam.d/chfn
auth required pam_unix.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
- pam_unix.so: Проверяет пароль пользователя перед изменением информации.
- pam_permit.so: Всегда разрешает действие.
- pam_deny.so: Всегда запрещает действие (в данном случае запрещает изменение пароля).
Пример: При вызове chfn
проверяется, что пользователь вводит правильный пароль, а затем разрешается изменение информации.
chpasswd
Конфигурация PAM для команды chpasswd, которая используется для массового изменения паролей.
# Пример содержимого файла /etc/pam.d/chpasswd
auth required pam_unix.so
- pam_unix.so: Используется для проверки и изменения паролей в базе Unix-аккаунтов.
Пример: Администратор использует chpasswd
для одновременного изменения паролей нескольких пользователей.
chsh
Настройки PAM для команды chsh, позволяющей пользователю изменить свой shell.
# Пример содержимого файла /etc/pam.d/chsh
auth required pam_unix.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
- pam_unix.so: Проверяет, что пользователь вводит корректный пароль.
- pam_permit.so: Разрешает действие (например, начало сессии).
- pam_deny.so: Запрещает изменение пароля.
Пример: Пользователь изменяет свой shell, например, с /bin/bash
на /bin/zsh
.
common-account
Общие правила для управления доступом (account management).
# Пример содержимого файла /etc/pam.d/common-account
account required pam_unix.so
- pam_unix.so: Проверяет ограничения на уровне аккаунта (например, истек ли срок действия).
Пример: Используется всеми сервисами для проверки статуса аккаунта.
common-auth
Общие правила аутентификации для всех служб.
# Пример содержимого файла /etc/pam.d/common-auth
auth required pam_unix.so
- pam_unix.so: Проводит проверку пароля в базе данных Unix-аккаунтов.
Пример: Ввод пароля при входе через SSH или sudo.
common-password
Общие правила управления паролями.
# Пример содержимого файла /etc/pam.d/common-password
password required pam_unix.so
- pam_unix.so: Проверяет правила установки пароля (длина, сложность и т.д.).
Пример: Используется для изменения пароля через passwd
.
common-session
Общие правила управления сессиями.
# Пример содержимого файла /etc/pam.d/common-session
session required pam_unix.so
- pam_unix.so: Инициализирует или завершает сессию пользователя.
Пример: Используется при логине пользователя в систему.
common-session-noninteractive
Общие правила управления для неинтерактивных сессий.
# Пример содержимого файла /etc/pam.d/common-session-noninteractive
session required pam_unix.so
Пример: Используется при автоматических или удалённых сессиях, например через скрипты.
cron
Настройки PAM для планировщика задач cron.
# Пример содержимого файла /etc/pam.d/cron
account required pam_unix.so
session required pam_env.so
session required pam_unix.so
Пример: Проверка прав доступа перед запуском запланированных заданий.