回答:
すべてのユーザー、または特定のユーザー向けですか?単一のユーザーの場合、.bashrc
ファイルに設定します。すべてのユーザーについては、pam_execをチェックしてください。
ユーザーがから来ている場合、sshd
次の行をに追加します/etc/pam.d/sshd
。ソースに応じて他のファイル:
session optional pam_exec.so seteuid /path/to/my/hook.sh
テストの目的で、モジュールはとして含まれているoptional
ため、失敗した場合でもログインできます。あなたはそれが動作することを確認しました後、あなたは変更することができますoptional
にrequired
。その後、フックスクリプトの実行が成功しない限り、ログインはできません。
注:ログイン構成を変更するときは常に、バックグラウンドでバックアップシェルを開いたままにして、新しいターミナルからログインをテストします。
session include pam_exec.so seteuid /path/to/script
ファイルに追加する必要があると思います/etc/pam.d/system-remote-login
。あれは正しいですか?
system-remote-login
またはsshd
、ユーザが来ているかによって異なります。
auth optional pam_exec.so /path/to/my/hook.sh
を入れて/etc/pam.d/common-auth
、発生する認証イベントをPAMに通知することもできます。このプログラムは、プッシュ通知を送信することもできます:github.com/benjojo/PushAlotAuth
ローカルのものではなくsshを使用しているユーザーにのみ影響を与える別の方法があります(緊急事態でより良いかもしれません)
以下のssh manページのスニペットを参照してください。
この場合、ユーザーは通常、ファイル自体を変更できます(.bashrcに少し似ています)
~/.ssh/rc Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
これはグローバルであり、通常のユーザーは変更できません
/etc/sshrc Commands in this file are executed by ssh when the user logs in, just before the user's shell (or command) is started. See the sshd(8) manual page for more information.
/etc/ssh/sshd_config
(詳細man sshd_config
を参照)