Rootop 服务器运维与web架构

linux用户登录时发送邮件到指定邮箱—安全审计

linux用户在登录时,会执行 ~/.bashrc 文件(包括打开新的shell时),所以写一个脚本记录用户登录时的用户名密码以及来源地址。

首先安装mail命令包mailx和sendmail组件
[root@Rootop ~]# yum install -y mailx sendmail
[root@Rootop ~]# service postfix stop #停掉postfix,以防冲突
[root@Rootop ~]# service sendmail start #启动sendmail服务
[root@Rootop ~]# chkconfig sendmail on
[root@Rootop ~]# chkconfig postfix off

脚本如下:

#!/bin/bash
add=158534570@qq.com

echo User "\"$(whoami)\" Login At \"$(date)"\" From IP Address : \""$(w|sed -n '3p'|awk '{print$3}')"\" | mail -s LoginMessage $add
exit

编辑:
[root@Rootop ~]# vi ~/.bashrc
添加:
sh /root/mail.sh  #脚本路径

下次登录时,就会发送邮件了。

PS:
当同一个用户,或者多个用户登录时,取值会只取第三行,所以可以修改脚本,获取当前所有登录的用户,或者来自于同一个ip的同一个用户的多次登录,需要去重。这里提供思路,自行拓展。

原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3019.html

作者:Venus

服务器运维与性能优化

评论已关闭。