出于安全考虑,需要监控部分敏感主机的root账号访问情况,于是实现root登录时发送邮件到指定邮箱。
提前明确:
发件箱、发件箱授权码、发件箱smtp地址、收件箱
第一步 申请邮箱授权码
选择腾讯企业邮箱,登录发件箱账号后,绑定微信,启用安全登录,选择“客户端专用密码-生成新密码”,此即授权码。
参考:https://www.yiyisoft.com/news/402.html
第二步 配置邮件发送
编辑/etc/mail.rc,增加如下内容
set from=server@domainname.com #发件箱 set smtp=smtp.exmail.qq.com #smtp地址,腾讯企业邮就是这个了 set smtp-auth-user=server@domainname.com set smtp-auth-password=vT6K1234543XdsqV ##<--这里填的是邮箱授权码 set smtp-auth=login
测试配置效果
echo Hello World | mail -s test samgg@domainname.com
收件箱samgg@domainname.com即可收到主题test、内容Hello World的邮件。
PS:最好采用同一服务商的邮箱,否则可能出现互相屏蔽的情况,比如腾讯与网易,原因你懂的。
参考:https://blog.csdn.net/ipenx/article/details/78441291
第三步 配置账号访问时发送邮件
如果要监控所有账号登陆,配置/etc/bashrc;监控指定账号,在该账号默认目录下,编辑.bashrc,我要监控的是root,加入如下内容
echo 'ALERT - Root Shell Access (vps.ehowstuff.com) on:' `date` `who` | mail -s "Alert: Root Access from `who | cut -d'(' -f2 | cut -d')' -f1`" samgg@domainname.com
即时生效:source .bashrc
再次使用root登录时,samgg@domainname.com即可收到来自server@domainname.com的邮件。