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