Published On: 2016-07-01|Last Updated: 2018-06-13|Categories: Debian, Linux|Tags: , , , |

Linux でログインというかユーザー認証が行われたときにメール送信をするサンプルです。こちらのサンプルの動作がやや怪しかったため改変したものとなります。動作確認は Debian 8.5 で行いました。

スクリプトを作成します。戻り値は 0 (成功) を明示した方が良いでしょう。

$ sudo tee --append /usr/local/bin/notify-login #!/bin/sh [ "$PAM_TYPE" = "open_session" ] || exit 0 env | mail -s "`hostname -s` $PAM_SERVICE login: $PAM_USER" root exit 0 ^C

設定ファイルにルールを追加します。ここでは参考にしたページの例に、戻り値を無視、デバッグ出力のオプションを追加しています。

$ echo "session [default=ignore] pam_exec.so debug /usr/local/bin/notify-login" | sudo tee --append /etc/pam.d/common-session

デバッグは su または sudo -s でセッションを残したまま行ってください。設定に失敗するとすべてのユーザーでログインできなくなることもあり得ます。ログは /var/log/auth.log に出力されます。

参考:

関連