Что на самом деле делает /etc/pam.d/other?

Вопрос или проблема

Что на самом деле делает /etc/pam.d/other? Содержимое файла:

auth     required       pam_deny.so
account  required       pam_deny.so
password required       pam_deny.so
session  required       pam_deny.so

/etc/pam.d/other является универсальным конфигурационным файлом для PAM. Он используется, когда приложение или служба не имеют конкретного конфигурационного файла PAM в /etc/pam.d/

Из https://git.launchpad.net/ubuntu/+source/pam/tree/debian/local/other?h=ubuntu/jammy в jammy (22.04)

#
# /etc/pam.d/other - указывает резервное поведение PAM
#
# Обратите внимание, что этот файл используется для любых неуказанных служб; например,
#if /etc/pam.d/cron не указывает никакие модули сеанса, но cron вызывает
#pam_open_session, тогда используется модуль сеанса из /etc/pam.d/other.
#Если вы действительно хотите, чтобы ничего не происходило, используйте pam_permit.so или
#pam_deny.so по мере необходимости.

# Мы возвращаемся к значению по умолчанию системы в /etc/pam.d/common-*
# 

@include common-auth
@include common-account
@include common-password
@include common-session

Ответ или решение

Что такое /etc/pam.d/other и какую роль он играет в PAM?

Файл /etc/pam.d/other является частью системы управления доступом PAM (Pluggable Authentication Modules) в операционных системах на основе Unix и Linux. Основная задача данного файла — это предоставление стандартной конфигурации для тех приложений и служб, которые не имеют специализированного конфигурационного файла в каталоге /etc/pam.d/. Он используется в качестве резервного механизма для управления аутентификацией и сессиями.

Содержимое файла

Итак, рассмотрим содержимое файла other:

auth     required       pam_deny.so
account  required       pam_deny.so
password required       pam_deny.so
session  required       pam_deny.so

Каждая строка представляет собой правило, определяющее, как обрабатывать соответствующие типы операций:

  • auth: данный модуль отвечает за аутентификацию пользователя.
  • account: отвечает за проверку учетных записей, включая ограничения доступа.
  • password: управляет изменением паролей.
  • session: отвечает за управление сессиями пользователя.

Выражение required указывает, что если аутентификация (или другая операция) не проходит через этот модуль, процесс будет немедленно завершен, и доступ будет запрещен. Использование pam_deny.so в качестве механизма означает, что любая попытка аутентификации, проверки учетной записи, изменения пароля или работы с сессией будет отклонена.

Как это работает в контексте PAM

Если приложение запрашивает доступ для пользователя и не находит собственного правила в /etc/pam.d/, оно использует эту запись в качестве последнего средства. Например, если служба cron вызывает pam_open_session, но не имеет специфической конфигурации, система использует модуль из other. Поскольку указаны только модули pam_deny.so, все попытки будут отвергнуты, что делает систему невосприимчивой к аутентификации и доступу.

Значение @include

Также важно отметить, что в более традиционных конфигурациях PAM содержащихся в других файлах, /etc/pam.d/other может включать ссылки на общие конфигурационные файлы, такие как:

@include common-auth
@include common-account
@include common-password
@include common-session

Эти строки предоставляют возможность использования единообразных правил аутентификации для различных компонентов системы, что значительно упрощает администрирование.

Однако в вашем примере указаны только модули pam_deny.so, так что НИ В КОМ СЛУЧАЕ доступ не будет предоставляться.

Заключение

Файл /etc/pam.d/other выступает важным элементом системы PAM, обеспечивая отказ в доступе для любых служб без специфических конфигураций. Это ведет к повышению общей безопасности системы, позволяя администраторам более точно управлять доступом и аутентификацией пользователей. Важно отметить, что правильная настройка PAM критически важна для обеспечения безопасности системы, и резервные конфигурации должны тщательно тестироваться для предотвращения потенциальных уязвимостей.

Оцените материал
Добавить комментарий

Капча загружается...