linux实用脚本--生成所有登录用户的操作历史

概述

作为系统管理员,不可能总是实时去盯着谁登陆了系统,做了一些什么操作,下面主要通过一个脚本来生成所有登录用户的操作历史,从而更好的管理linux系统,看是不是有一些违规操作。


一、查看日志文件

1、查看/var/log/wtmp文件看是否有可疑IP登陆

 last -f /var/log/wtmp
linux实用脚本--生成所有登录用户的操作历史

 

该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,

增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,

last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

2、查看/var/log/secure文件寻找可疑IP登陆次数

cat /var/log/secure
linux实用脚本--生成所有登录用户的操作历史

 


二、 脚本生成所有登录用户的操作历史

需求:记录登陆后的IP地址和某用户名所操作的历史记录

实现:

1、配置/etc/profile:

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod -R 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`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
linux实用脚本--生成所有登录用户的操作历史

 

3、查看记录

linux实用脚本--生成所有登录用户的操作历史

 

说明:该脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。


篇幅有限,关于这方面内容就介绍到这了,大家有兴趣也可以自己测试下。

后面会分享更多linux方面内容,感兴趣的朋友可以关注下。

linux实用脚本--生成所有登录用户的操作历史

 

原文始发于:linux实用脚本–生成所有登录用户的操作历史