Сбой локальной аутентификации, если удаленный сбой
Я настроил свои правила PAM, чтобы сначала можно было попробовать TACACS+, а если сервер недоступен, то попробовать локальную аутентификацию (pam_unix
) и выполнить некоторые операции после авторизации в соответствующих сценариях. Следующее, кажется, работает в большинстве случаев:
auth [success=3 default=bad authinfo_unavail=bad ignore=ignore] pam_tacplus.so secret=secret123 server=10.1.2.3 try_first_pass debug
auth [success=2 new_authtok_reqd=done default=ignore] pam_unix.so debug
auth optional pam_exec.so stdout debug /opt/scripts/login_fail.sh
auth requisite pam_deny.so debug
auth optional pam_exec.so stdout debug /opt/scripts/login_success.sh
auth [success=done default=die authinfo_unavail=bad ignore=ignore] pam_permit.so debug
Тем не менее, когда я пытаюсь войти в систему как локальный пользователь, удаленный сервер отклоняет (что правильно), но login_success
сценарий вызывается вместо login_fail
!
Мое понимание таково: если первый модуль (pam_tacacs
не получается, второе правило (pam_unix
) следует ударить. Но это, вероятно, не сбой (?), Как я ввожу правильный пароль? (если я введу неправильный пароль, то снова все будет работать нормально)
Вероятно, я что-то упустил, чтобы выйти из строя второй модуль (pam_unix
) когда первый уже вернул сбой? Как я могу отличить ошибку аутентификации от удаленного отключения?