Как отлаживать модуль Linux PAM?

Мне нужно написать модуль PAM для Linux. Это хороший способ отлаживать его без перезагрузки каждый раз, когда мне нужно его протестировать? Что произойдет, если установка не будет работать должным образом и проникнет внутрь? Как мне его выключить? Что произойдет, если загрузка модуля не удалась, например, из-за отсутствия зависимостей?


person Bernd Jacobi    schedule 19.12.2014    source источник


Ответы (2)


Метод 1: вы можете попробовать изменить менее уязвимый файл внутри pam.d, чтобы протестировать свои модули. Например, измените конфигурацию pam для «sudo» внутри /etc/pam.d/, а затем добавьте свои модули для выполнения теста. Например: В следующей конфигурации файл «sudo» изменен для проверки работы файла «pam_auth.so».

#%PAM-1.0

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
#@include common-auth #this line is commented to make it use my pam module
auth       required   pam_auth.so
@include common-account
@include common-session-noninteractive

Это проверяется с помощью команды sudo в терминале следующим образом:

username@computer:~$ sudo nautilus

Пожалуйста, поместите файл .so в путь / lib / security /. Если каталог безопасности отсутствует, создайте новый каталог с тем же именем.

Метод 2: вы можете использовать специальный инструмент (например, pam-tester для тестирования ваших модулей PAM.

person stitchesguy90    schedule 26.04.2015

Многие модули PAM имеют debug параметр, использующий системный журнал. В / var / log / secure есть больше входов.
Большую часть конфигурации вы можете протестировать с помощью сервисов. Например, если у вас есть в /etc/pam.d/su строка:
account required pam_time.so debug
, вы можете протестировать ее, запустив su и проверив, что происходит.
Если у вас есть конфигурация PAM для служб, которые вам необходимо перезагрузиться, чтобы затем протестировать (например, login), я рекомендую использовать виртуальную машину для полного тестирования вашей конфигурации PAM перед ее развертыванием. Вы также можете перезагрузиться до уровня выполнения 1 и отменить изменения в файлах /etc/pam.d.

person lidor    schedule 01.01.2019