提要
有的时候我们的服务器比较重要平时也几乎不登录,比如yum源服务器,所有服务器都会通过自建yum源来进行yum安装,又比如邮件服务器,想做成有人登陆就会有提醒,比如发送邮件,至少我们知道有人登录了是不是自己人登录的。
简单写个小脚本就可以了。
安装
安装mail
[root@10-8-103-27 ~]# yum -y install mailx sendmail
启动
[root@10-8-103-27 ~]# service sendmail start
测试能不能收到邮件
[root@10-8-103-27 profile.d]# mail -s 'Test mail' 490617581@qq.com < /etc/passwd
You have new mail in /var/spool/mail/root
能收到邮件说明发邮件成功
配置登录邮件提醒
[root@10-8-103-27 profile.d]# pwd
/etc/profile.d
You have new mail in /var/spool/mail/root
[root@10-8-103-27 profile.d]# vi logincheck.sh
#!/bin/bash
LANG=en
User=`whoami`
loginip=`who|awk {'print $NF'}|awk -F "[()]" {'print $2'}|tail -1`
localip=`ip addr|grep 'inet'|grep brd|awk {'print $2'}`
echo "The time is:`date` The user is:${User} From IP is:${loginip} login the ${localip}'s system!"|mail -s "yum_repo is have a login!" 490617581@qq.com
上面就是一个简单的小脚本,不管是什么用户,都会记录什么用户被从哪里来的IP登录了,比如我们要做登录检测的机器有多个,所以IP是变量的形式。然后有人登录就会触发脚本就会发送邮件到指定的收件人。
[root@10-8-103-27 profile.d]# chmod +x /etc/profile.d/logincheck.sh
You have new mail in /var/spool/mail/root
退出再登录就收到邮件提醒了