Проблема с настройкой PAM

Я хотел бы выполнять свой скрипт оболочки при каждом сбое входа в систему. Для этого я обновил файл /etc/pam.d/common-auth: с (оригинальное тело):

auth    required    pam_env.so
auth    required    pam_unix2.so

до:

auth    required    pam_env.so
auth    sufficient  pam_unix2.so
auth    optional    pam_exec.so seteuid /root/handle_failure.sh

для большинства служб PAM (например, ssh, active directory), он работает , но проблема с сервисом входа в систему. Если я введу неправильный пароль, скрипт будет выполнен, но вход в систему будет успешным. Я подозреваю, что результат модуля pam_unix2 игнорируется из-за изменения флага с обязательного на достаточный.

Чтобы исправить это, я решил изменить конфигурацию PAM на новую: новое тело /etc/pam.d/common-auth:

auth    required    pam_env.so
auth    [success=1 new_authtok_reqd=ok ignore=ignore default=bad]  pam_unix2.so
auth    optional    pam_exec.so /root/handle_failure.sh
auth    optional    pam_exec.so /bin/true

этой работы, как и ожидалось, но мне не нравится последняя строка 'auth optional pam_exec.so /bin/true'. Без этой строки вход в систему не работает, потому что в соответствии с success=1 мы хотим пропустить одну строку и перейти к нулю. Это лучший способ улучшить эту конфигурацию?

Спасибо за любую помощь.

0
задан 13 May 2019 в 16:59

0 ответов

Другие вопросы по тегам:

Похожие вопросы: