概述
作为系统管理员,不可能总是实时去盯着谁登陆了系统,做了一些什么操作,下面主要通过一个脚本来生成所有登录用户的操作历史,从而更好的管理linux系统,看是不是有一些违规操作。
一、查看日志文件
1、查看/var/log/wtmp文件看是否有可疑IP登陆
last -f /var/log/wtmp
![0cd17eebfa4fcfb81144478927f2c9f8.png](https://i-blog.csdnimg.cn/blog_migrate/598f859d86b70c99e36ac8ae8e8e42c9.jpeg)
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,
增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,
last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。
2、查看/var/log/secure文件寻找可疑IP登陆次数
cat /var/log/secure
![179d1bba5e3b84f4cb12b0b744082adb.png](https://i-blog.csdnimg.cn/blog_migrate/c5dd5b8dd0252ee6338aa64e9ba680e4.jpeg)
二、 脚本生成所有登录用户的操作历史
需求:记录登陆后的IP地址和某用户名所操作的历史记录
实现:
1、配置/etc/profile:
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/dbasky ]thenmkdir /tmp/dbaskychmod -R 777 /tmp/dbaskyfiif [ ! -d /tmp/dbasky/${LOGNAME} ]thenmkdir /tmp/dbasky/${LOGNAME}chmod 300 /tmp/dbasky/${LOGNAME}fiexport HISTSIZE=4096DT=`date "+%Y-%m-%d_%H:%M:%S"`export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP}-dbasky.$DT"chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
2、生效环境变量
source /etc/profile
![2b39101ae4e4b116e93b56ea559e51a2.png](https://i-blog.csdnimg.cn/blog_migrate/21896f88f4b1b4759a61f17e2d83d359.jpeg)
3、查看记录
![3efd6f7191ad3f0183755a2fc74b9ae5.png](https://i-blog.csdnimg.cn/blog_migrate/645a9d8fa140c580912ef8476870cf5e.jpeg)
说明:该脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。
篇幅有限,关于这方面内容就介绍到这了,大家有兴趣也可以自己测试下。
后面会分享更多linux方面内容,感兴趣的朋友可以关注下。
![3cf1794c5319c05ca5d499d6a4be0ea4.gif](https://i-blog.csdnimg.cn/blog_migrate/b25cd0ec5010b0b2758ce1402dcef922.gif)