こんにちは、私はここでpam_execに関する情報を追跡しようとしました。 SSHログインフック?
ユーザーがログインすると、次の情報が表示されます。
/etc/pam.d/email-alert.sh failed: exit code 8
私のsshdファイルの最後には次のものがあります。
session optional pam_exec.so debug seteuid /etc/pam.d/email-alert.sh
私のemail-alert.shスクリプトには次のものがあります。
echo 'ALERT - Remote SSH Shell Access (SERVERNAME) on:' `date` `who` |
mail -s "Alert: Remote SSH Access from `who |
cut -d'(' -f2 | cut -d')' -f1`" [email protected]
スクリプトを別々にテストしましたが、問題なく電子メールを送信しました。
誰かが私に正しい方向を伝えることができれば、私はそれを把握しようとして頭をつかんでいたので、非常に感謝します。
ベストアンサー1
まず、シェルスクリプトは最後のコマンドの終了ステータスを返します。使用しているコマンドの1つはstatusで終了することです8
。第二に、pam_exec
あなたのような環境はありません。したがって、手動で実行するときの動作は、pamスタックの一部として実行するときの動作(現在経験している現象)と必ずしも同じではありません。
pam_exec
役に立ついくつかの組み込み環境変数があります。次のようにスクリプトを再構築します。
#!/bin/bash
PATH=/bin:/usr/bin
SUBJ="Alert - Remote SSH access from ${PAM_USER}"
mail -s $SUBJ << __MESSAGE__
ALERT - Remote SSH Shell Access (${HOSTNAME}) on $(date)
User ${PAM_USER} logged in from ${PAM_RHOST}
$(who)
__MESSAGE__