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

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

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

#%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 выполняется, даже если я ввожу неверный пароль.

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

  • Как заставить пользователя сменить пароль при первом входе в систему с помощью ssh?
  • Могу ли я создать гостевую учетную запись только для местных пользователей?
  • Как я могу автоматически установить принципал kerberos в среде на удаленном хосте?
  • skip pam_fprintd.so с закрытой крышкой
  • Можно ли установить su для использования диалогового окна WE password
  • Политика паролей Ubuntu
  • Ошибка повторной попытки PAM passwd
  • Отображение UID каталогов Active Directory для конкретных UID Unix
  • 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. 
    Interesting Posts

    Отключение звука от конкретного виртуального дисплея

    Использовать xvfb для автоматизации программы X

    Найти файловую систему размонтированного раздела из сценария

    Лучшая практика для размещения развертывания приложения django?

    Загрузочная запись для загрузки зашифрованных LVM

    Кукольная проблема с sysctl

    Могу ли я использовать свой собственный ld.so.cache?

    Повреждение файлов с использованием rsync, нескольких процессов rsync, перемещение / переименование исходного файла

    проверить переменную в файле для согласованности в приращении

    Каков наилучший способ установки Oracle 11g R2 и SQL Developer на CentOS 7 / RHEL 7?

    Почему библиотека C ++ не отключена при создании GCC

    Следующие пакеты имеют неудовлетворенные зависимости

    Переустановка файла tar или tar.gz в файлы меньшего размера tar / tar.gz

    Linux Восстановление операционной системы после аномального завершения

    Перезагрузка / etc / default / locale без перезагрузки?

    Linux и Unix - лучшая ОС в мире.