Как проверить, настроен ли модуль PAM в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, настроен ли модуль PAM (Pluggable Authentication Modules) в Linux. Мы рассмотрим стандартные расположения файлов конфигурации PAM и изучим их содержимое, чтобы понять, как различные сервисы используют PAM для аутентификации и других функций безопасности.

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/ls -.-> lab-558745{{"Как проверить, настроен ли модуль PAM в Linux"}} linux/cat -.-> lab-558745{{"Как проверить, настроен ли модуль PAM в Linux"}} end

Проверка конфигурации PAM с помощью команды ls /etc/pam.d

На этом этапе мы начнем изучать PAM (Pluggable Authentication Modules). PAM представляет собой мощный фреймворк, который позволяет системным администраторам настраивать, как приложения аутентифицируют пользователей. Вместо того чтобы каждое приложение самостоятельно обрабатывало аутентификацию, они могут использовать PAM, который предоставляет централизованный и гибкий способ управления аутентификацией, авторизацией и управлением учетными записями.

Представьте себе PAM как набор взаимозаменяемых строительных блоков для аутентификации. Вы можете подключать разные модули для обработки различных методов аутентификации (например, пароли, смарт - карты или даже биометрию) без изменения самого приложения.

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

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

Откройте терминал, если он еще не открыт. Помните, что вы можете найти значок Xfce Terminal слева на рабочем столе.

Введите следующую команду и нажмите Enter:

ls /etc/pam.d/

Вы должны увидеть список файлов, похожий на этот (точный список может немного отличаться в зависимости от конфигурации системы):

atd
chfn
chpasswd
chsh
cron
...
sudo
su
systemd-user
...

Каждый файл в этом списке представляет собой файл конфигурации PAM для определенного сервиса. Например, файл sudo содержит конфигурацию PAM для команды sudo, а файл login содержит конфигурацию для входа пользователей.

Выводя этот список файлов, вы получаете представление о том, какие сервисы в системе используют PAM для аутентификации и других задач, связанных с безопасностью.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка настроек PAM с помощью команды cat /etc/pam.conf

На предыдущем этапе мы рассмотрели отдельные файлы конфигурации PAM в каталоге /etc/pam.d/. Хотя большинство современных систем используют структуру каталога /etc/pam.d/, в некоторых старых конфигурациях или специальных настройках может по-прежнему использоваться один центральный файл конфигурации: /etc/pam.conf.

Файл /etc/pam.conf, если он существует и используется, содержит правила для различных сервисов, типов модулей, флагов управления и конкретных модулей PAM, которые должны быть использованы. Каждая строка в этом файле обычно определяет правило для конкретного сервиса.

Давайте проверим, существует ли файл /etc/pam.conf, и просмотрим его содержимое с помощью команды cat. Команда cat используется для отображения содержимого файлов.

Введите следующую команду в терминале и нажмите Enter:

cat /etc/pam.conf

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

cat: /etc/pam.conf: No such file or directory

Этот вывод подтверждает, что система использует отдельные файлы в каталоге /etc/pam.d/, а не один файл /etc/pam.conf. Понимание этой разницы важно при работе с различными дистрибутивами Linux или старыми системами.

Даже если файл /etc/pam.conf не используется в этой конкретной системе, знание о его существовании и назначении полезно для полного понимания PAM.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка модулей PAM в каталоге /lib/security

На предыдущих этапах мы рассмотрели файлы конфигурации PAM. Эти файлы указывают PAM, какие модули использовать для различных сервисов. Теперь давайте посмотрим, где на системе хранятся фактические модули PAM.

Модули PAM обычно представляют собой разделяемые библиотеки (файлы, оканчивающиеся на .so), которые содержат код для конкретных задач аутентификации, авторизации, управления учетными записями или сессиями. Эти модули обычно находятся в каталоге, таком как /lib/x86_64-linux-gnu/security/ или /lib/security/. В этой системе они расположены в /lib/x86_64-linux-gnu/security/.

Давайте выведем список содержимого каталога /lib/x86_64-linux-gnu/security/, чтобы увидеть доступные модули PAM. Мы снова будем использовать команду ls.

Введите следующую команду в терминале и нажмите Enter:

ls /lib/x86_64-linux-gnu/security/

Вы увидите длинный список файлов, каждый из которых представляет собой отдельный модуль PAM. Имена файлов обычно начинаются с pam_, за которым следует название модуля, и заканчиваются на .so.

pam_access.so
pam_cap.so
pam_chauthtok.so
pam_cracklib.so
...
pam_unix.so
pam_usw.so
pam_winbind.so

Например, pam_unix.so - это распространенный модуль, используемый для традиционной аутентификации по паролю в системе Unix. pam_cracklib.so используется для проверки надежности пароля.

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

Понимание взаимосвязи между файлами конфигурации в /etc/pam.d/ и файлами модулей в /lib/x86_64-linux-gnu/security/ является ключом к пониманию того, как работает PAM.

Нажмите Продолжить, чтобы завершить этот практический урок.

Резюме

В этом практическом уроке мы начали изучать PAM (Pluggable Authentication Modules, модули подключаемой аутентификации) в Linux. Мы узнали, что PAM предоставляет гибкую платформу для управления аутентификацией, авторизацией и управлением учетными записями для различных сервисов. Мы начали с вывода списка содержимого каталога /etc/pam.d/ с помощью команды ls, чтобы определить отдельные файлы конфигурации PAM для различных сервисов, таких как sudo, login и ssh. Это дало нам первое представление о том, какие сервисы в системе используют PAM.