PAM設定は、ログインが失敗するたびにシェルスクリプトを実行します。

PAM設定は、ログインが失敗するたびにシェルスクリプトを実行します。

ログインが失敗するたびにシェルスクリプトを実行したいと思います。そのためにファイルを更新しました/etc/pam.d/common-auth。オリジナルテキスト:

auth    required    pam_env.so
auth    required    pam_unix2.so

到着する:

auth    required    pam_env.so
auth    sufficient  pam_unix2.so
auth    optional    pam_exec.so seteuid /root/handle_failure.sh

ほとんどのPAMサービス(SSH、Active Directoryなど)では機能しますが、問題はログインサービスにあります。間違ったパスワードを入力するとスクリプトが実行されますが、ログインも成功します。pam_unix2フラグを必須から十分に変更した結果、モジュールは無視されるようです。

この問題を解決するために、PAM設定を新しい設定である新しいボディに変更することにしました/etc/pam.d/common-auth

auth    required    pam_env.so
auth    [success=1 new_authtok_reqd=ok ignore=ignore default=bad]  pam_unix2.so
auth    optional    pam_exec.so /root/handle_failure.sh
auth    optional    pam_exec.so /bin/true

期待どおりに動作しますが、最後の行が気に入らないauth optional pam_exec.so /bin/true。この行がないとログインは機能しません。なぜなら、それによると、success=1私たちは一行をスキップし、何でもジャンプしたいのです。この設定を改善するより良い方法はありますか?

ベストアンサー1

おすすめ記事