Как правильно использовать PAM для выполнения скрипта при неудаче входа в систему

Я пытаюсь использовать подключаемый модуль аутентификации для выполнения сценария при неудачной попытке входа в систему Arch Linux. Arch Linux не имеет файла common-auth, и я решил не создавать его. Вместо этого я обнаружил, что стек PAM использует файл system-auth для некоторых функций, и я решил его отредактировать.

Исходный файл system-auth был следующим:

  • Есть ли простой способ переключить звуковые карты воспроизведения?
  • Что такое Arch Fallback в меню загрузки Arch?
  • Доступ к флэш-накопителю NVMe в апреле 2016 года MacBook 12 "(A1534)
  • Как получить pacman для использования моих пользовательских PKGBUILD при обновлении?
  • Запретить изменение пароля root в ldap - debian
  • Выполнить программу при входе в систему
  • #%PAM-1.0 auth required pam_unix.so try_first_pass nullok auth optional pam_permit.so auth required pam_env.so account required pam_unix.so account optional pam_permit.so account required pam_time.so password required pam_unix.so try_first_pass nullok sha512 shadow password optional pam_permit.so session required pam_limits.so session required pam_unix.so session optional pam_permit.so 

    Чтобы выполнить скрипт при неудачном входе в систему, я изменил блок auth следующим образом

     auth [success=1 default=ignore] pam_unix.so try_first_pass nullok auth optional pam_exec.so <path to the script file> auth optional pam_permit.so auth required pam_env.so account required pam_unix.so account optional pam_permit.so account required pam_time.so password required pam_unix.so try_first_pass nullok sha512 shadow password optional pam_permit.so session required pam_limits.so session required pam_unix.so session optional pam_permit.so 

    Команда sudo – это одна команда, которая использует этот файл system-auth в стеке PAM в моей системе. Однако, когда я пытаюсь использовать команду sudo после редактирования файла, как указано выше, команда sudo выполняется, даже если я ввожу неверный пароль.

    Был бы признателен, если бы кто-нибудь мог сказать мне, что здесь происходит, и помочь мне исправить это

  • Используйте символы Alt-letter в KDE
  • Служба alsa alsa-store не найдена
  • Не удалось найти корневое устройство ''
  • Какой файл Arch Linux загрузиться?
  • Как перестроить glibc на Arch Linux?
  • usb_submit_urb (ctrl) не удалось: -1 Corsair k65 RGB-клавиатура
  • One Solution collect form web for “Как правильно использовать PAM для выполнения скрипта при неудаче входа в систему”

    От man pam.d , описание required :

     required [success=ok new_authtok_reqd=ok ignore=ignore default=bad] 

    По default=ignore отказ от pam_unix больше не приводит к сбою аутентификации, так как ваш скрипт, а затем pam_permit.so будет использоваться, и pam_permit.so всегда будет успешным. pam_unix все равно должен иметь default=bad :

     bad this action indicates that the return code should be thought of as indicative of the module failing. If this module is the first in the stack to fail, its status value will be used for that of the whole stack. 
    Linux и Unix - лучшая ОС в мире.