背景:
查看当前登录用户信息
who缺省输出包括用户名、终端类型、登陆日期以及远程主机
who /var/log/wtmp
查看历史登陆记录,会发现自己服务器虽然没怎么使用,但存在美国,韩国,欧洲,日本
等地ip登陆,做一个邮件提醒,我们好及时发现问题,处理问题
操作流程:
1.安装sendmail
yum -y install sendmail
systemctl start sendmail
2.安装mailx
yum install -y mailx
3.配置文件
vim /etc/mail.rc
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
#/etc/pki/nssdb 需要使用命令find / -name "cert*.db" 查找位置(根据自身系统而定
set from=XXXXXXX@126.com
set smtp=smtps://smtp.126.com:465
set smtp-auth-user=XXXXXXX@126.com
set smtp-auth-password=XXXXXXX
set smtp-auth=login
注意:阿里云和防火墙注意放行25端口和465端口,邮箱密码为客户端授权密码
测试是否成功:
echo "我是邮件提醒" | mailx -v -s "服务器登陆提醒" XXXXXXX@126.com
linux登陆设置邮件提醒
Linux用户登陆都会执行/etc/profile文件,编辑这个文件
Ubuntu/Debian系统环境 编辑根目录下 ~/.bashrc文件
CentOS系统 编辑 ~/.bash_profile文件
#获取登陆账户
user=$USER
#获取登陆时间
time=$(date +%F%t%k:%M)
#获取登陆ip
ip=${SSH_CLIENT%% *}
#登陆ip归属地
address='curl https://ip.cn/index.php?ip = ${SSH_CLIENT%% *}'
echo "用户 $user 用 $address 在 $time 登陆本服务器 " | mailx -v -s "服务器登陆提醒" XXXXXXXXX@126.com
测试: