Linux服务器用户登录邮件告警

一、工具和环境

    1.Linux Ret Hat 6.4 (红帽子企业级 Linux 6.4 代号 Santiago)

    2.查看Linux操作系统版本命令

cat /etc/redhat-release

    3.mailx 12.4

二、安装 mailx 12.4  (建议切换成root权限)

    1.下载mailx 12.4命令

wget http://nchc.dl.sourceforge.net/project/heirloom/heirloom-mailx/12.4/mailx-12.4.tar.bz2

    2.解压命令 

tar jxvf mailx-12.4.tar.bz2 

    3.进入mailx-12.4目录

cd mailx-12.4

    4.编译

make 
如果这里编译失败报错要下载补丁

           4.1、下载补丁 (这里下载的是对应操作系统和mailx-12.4版本的补丁)

wget http://www.linuxfromscratch.org/patches/blfs/7.6/mailx-12.4-openssl_1.0.0_build_fix-1.patch

           4.2、打补丁命令

patch -Np1 -i mailx-12.4-openssl_1.0.0_build_fix-1.patch

           4.3、如果打好了补丁要重新执行 编译命令 make (如果make还是失败,那就是你打的补丁版本不对或者没打成功)

    5.安装mailx-12.4命令

make install UCBINSTALL=/usr/bin/install

    6.创建mailx到mail的软连接命令

ln -s /usr/local/bin/mailx /bin/mail

    7.创建mailx配置文件软连接

ln -s /etc/nail.rc /etc/mail.rc
    8.查看安装路径/版本信息

whereis mailx #查看安装路径

mailx -V #查看版本信息

三、配置外部邮箱mailx

    1.使用的mailx属于服务端外部邮箱,需要将系统自带的postfix停止,postfix操作命令 (需要root权限)

# /etc/init.d/postfix status #查看开启状态

# /etc/init.d/postfix start  #开启

# /etc/init.d/postfix stop   #关闭

## chkconfig postfix off     #开机不自启

    2.编辑mailx配置信息

vi /etc/mail.rc

    3.在mail.rc添加以下配置

set from=   
set smtp=
set smtp-auth-user=
set smtp-auth-password=
set smtp-auth=login

模板:

Linux服务器用户登录邮件告警_第1张图片

set from=xxx\@xx.com     (这里写发件邮箱,可以用163或者qq邮箱,新申请的qq邮箱要14天后才能使用SMTP,@前面要加'\')

set smtp=smtp.163.com:25  (这里是163服务器的地址和端口,不同的服务器的地址不同,普通邮箱和企业邮箱的smtp地址都不同,不要搞混了,参考这篇文章http://blog.csdn.net/qq_33168577/article/details/79374729)

set smtp-auth-user=   和 set from= 写一样的

set smtp-auth-password=               如果是企业邮箱直接写邮箱密码,如果是个人邮箱,要写 授权码。腾讯的授权码获取方法请看:http://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256

set smtp-auth-login=login  (固定的)

配置好后:wq!保存退出

    4.命令测试邮件发送功能

echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s root [email protected] 
        4.1、-s 后面不可以带 ‘test’ 参数     [email protected]  写你的收件邮箱
        4.2、发送成功却没有收到邮件,有可能邮件标题和内容不谨慎,被当成垃圾邮件了,请 进入qq邮箱首页  点最最下面的!  自助查询——收件查询 是否被拦截了,如果是,就把它加入白名单。

四、配置root用户登录邮箱告警

    1.修改.bashrc文件配置,设置被通知邮箱

vi ~/.bashrc

在文件下面接着添加 :

if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s root [email protected]
想通知几个人就在后面加几句

    

echo "$(whoami) login at: $(date) ip address: $(w|sed -n '3p'|awk '{print$3}')" | mail -s root [email protected]

想那个用户登录邮件通知,就su 到那个用户,   按以上方法更改.bashrc文件

2.在root用户编辑.bashrc文件就只对root用户登录起作用。上面通知邮箱,有ip和登录时间和登录用户的信息,也可以改成自己中意邮箱模板。

    3.保存测试 :eq!

保存好配置文件退出后,断开ssh链接,然后重新用root用户(或者你设置邮箱告警的用户)ssh登录服务器。3秒内就会收到服务器发的告警邮件。

    4.现在的各大邮箱每天都有发件上限哦,到了上限就不会发送,各大邮箱的上限请看:http://www.360doc.com/content/15/0411/20/20545288_462481521.shtml


你可能感兴趣的:(Linux)