PAM 2F認証によるログイン時のコールバック

PAM 2F認証によるログイン時のコールバック

PAMを介して認証が完了するたびにスクリプトを呼び出したいのですが、ログインが正常に完了したモジュールはpam_yubico.soです。

 e.g: user does sudo:
 -> user is not configured for 2FA on sudo
 -> user logs in with password
 -> callback is not invoked

e.g.2: same user does ssh login:
-> ssh requires 2FA for this user
-> user logs in with password & yubikey
-> user login accepted
-> invoke callback

e.g.3: another user does sudo:
 -> user configuration has 2FA required for sudo
 -> user types pass and presses yubikey
 -> user login accepted
 -> invoke callbak

したがって、具体的には、ユーザーが2つの要素を使用して正常に認証するたびにコールバックをトリガーする必要があります。

bash_profileやrcでスクリプトを実行するだけでは私が望むものではありません。 2F(kde、sudo、ssh su ...)を使用するたびにコールバックを呼び出す必要があります。

答え1

正常なモジュールが実行可能になったら、コマンドを実行して pam_exec.so に移動します。success=${num lines to skip}

人8 pam_exec

    auth sufficient                  pam_unix.so
    auth [success=1 default=ignore]  foo_2fa.so some_other=options
    auth requisite                   pam_deny.so
    auth optional                    pam_exec.so debug /path/to/my/script.sh

上記をテストしていないため、調整して安全であることを確認する必要があります。

関連情報