使用pam_exec在ssh登录时发送电子邮件通知

2024-06-28 19:52:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到所有使用ssh登录到我的ubuntu服务器的用户的通知

/etc/pam.d/sshd中添加以下行

session required pam_exec.so  seteuid /usr/local/bin/ssh_alert.sh

在ssh_alert.sh文件中,我有以下内容

#!/bin/sh
if [ "$PAM_TYPE" != "open_session" ]
then
  exit 0
else
  {
    echo "User: $PAM_USER"
    echo "Remote Host: $PAM_RHOST"
    echo "Service: $PAM_SERVICE"
    echo "TTY: $PAM_TTY"
    echo "Date: `date`"
    echo "Server: `uname -a`"
    exec /usr/bin/python3 send_mail.py
  }
fi
exit 0

所有文件都具有适当的权限(0700),它们是可执行文件

无论何时登录服务器,都不会打印变量,也不会发送邮件。

当单独执行send_mail.py时,它会发送一封电子邮件

知道出了什么问题吗


Tags: 文件echo服务器sendbinsessionusrsh