常用登录脚本

常用登录脚本

几周前,我认为编写一个脚本是一个好主意,当有用户登录我的服务器时,该脚本就会向我发送电子邮件。

所以我找到了一个完美运行的脚本notifyLogin.sh,然后我决定从每个用户的脚本中调用它 .bash_login

ssh再见,一切顺利,但今天我发现有人可以使用客户端选项登录我的服务器,-t从而选择一个可用的 shell。例如:

ssh user@myserver -t sh

这样,.bash_login就不执行了,也不/etc/profile

我的问题是:是否存在任何“通用”(这意味着 id 与使用哪个 shell 无关)脚本,可以在用户登录时执行?

答案1

其中一种方法是使用系统日志并将消息重定向到电子邮件:

另一种方法是使用日志解析器,例如美国证券交易委员会或者Splunk

答案2

另一个选择是使用 pam。窃自在谷歌找到的页面

session optional pam_exec.so /path/to/your/script/or/executable

有关详细信息,请参阅pam_exec(8)手册页。优点是您不需要解析日志即可执行此操作 - 它使用标准机制来插入会话。根据您放置它的位置,您可以在用户创建新会话时或仅在通过 SSH 连接时使用它来发送。

答案3

另一种选择:您可以在后台运行安全日志过滤以提取有趣的事件,例如:

tail -n 0 -f /var/log/secure | grep --line-buffered "sshd:session): session opened" > /var/log/sec-filtered

并有一个定期任务,检查过滤输出文件的大小,将其通过电子邮件发送,并在安全日志上重新启动过滤。

相关内容