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

Если у меня есть следующий стек PAM:

auth required default_pam.so auth requisite my_custom_pam.so .... 

Как получить статус проверки подлинности из последнего / предыдущего модуля PAM для использования в вашем собственном модуле проверки подлинности PAM (например, в функции pam_sm_authenticate )?

One Solution collect form web for “Как получить статус проверки подлинности с последнего запуска модуля PAM”

Во-первых, имейте в виду, что нет ничего необычного в том, что логика кода вашего модуля изменяется в соответствии с результатами других модулей: обычно это делается с помощью управляющих флагов, таких как required и requisite , которые контролируют, какие модули вызываются, в каких ситуациях ( т.е. в соответствии с текущим статусом цепи, результаты предыдущих модулей). Имея это в виду, вы можете себе представить, как адаптировать поведение вашего модуля таким образом:

 auth [success=1] default_pam.so auth [success=done default=die] my_custom_pam.so default_failed auth requisite my_custom_pam.so 

Эта цепочка имеет следующую логику:

  • Если модуль по умолчанию успешно завершен, отметьте его как подтвержденный (подразумеваемый success=1 ) и пропустите 1 модуль. Цепочка достигает my_custom_pam вызываемой без аргумента, которая должна преуспеть (требуется).
  • Если модуль по умолчанию выходит из строя, ничего не пропускайте. Цепочка достигает my_custom_pam , вызываемой с аргументом default_failed . Цепь остановится после этого модуля ( done или die ), и он определит общий результат.

Здесь ключевым элементом является аргумент, переданный my_custom_pam . pam_sm_authenticate argc и argv в вашей процедуре pam_sm_authenticate , вы сможете адаптировать свою логику в соответствии с текущим статусом цепи.

  • Программа для дешифрования файла тени linux
  • Проблема с pam_mount и sshfs
  • Как настроить двухфакторную аутентификацию с помощью OTP на FreeBSD?
  • Как написать демона входа?
  • Настройка ulimits без PAM
  • Ldap SSH Login не работает - одинаковые конфигурации работают на 20+ других серверах - Ubuntu
  • Соответствие правилам PAM для Debian и CentOS
  • Удалить опцию из включенного файла в PAM
  • Самый безопасный способ аутентификации пользователей с помощью / etc / shadow с помощью PHP?
  • потерянная способность sudo после изменения модуля pam
  • Как запретить использование корневой учетной записи LDAP
  • разблокировать логин gnome-keyring на i3wm autologin
  • Linux и Unix - лучшая ОС в мире.