Fork me on GitHub

Linux 下记录所有用户的操作历史

使用 history 命令可查看当前登录用户的所有操作历史
但即使是 root 用户,也不能查看其它用户的操作记录
这就需要将所有用户的操作历史,以日志的方式保存下来

$su root
$vim /etc/profile

在最后面加入以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# user's operate history
history 2>/dev/null
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 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

$source /etc/profile

退出,重新登录
可在 /tmp/dbasky 下查看所有用户的操作历史

-------------感谢您的阅读 有问题请留言(或mailto:frostbelt@sina.cn)-------------