centos 记录所有用户操作命令的脚本

时间:2024-03-12 17:31:59

使用history不能看到所有用户的命令记录,如何看所有用户的操作记录。

如下:

在 /etc/profile 最下面加入如下代码即可.

 

PS1="`whoami`@`hostname`:"\'[$PWD]\'
history
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/historylog ]
then
mkdir /tmp/historylog
chmod 777 /tmp/historylog
fi
if [ ! -d /tmp/historylog/${LOGNAME} ]
then
mkdir /tmp/historylog/${LOGNAME}
chmod 300 /tmp/historylog/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/historylog/${LOGNAME}/${USER_IP} log.$DT"
chmod 600 /tmp/historylog/${LOGNAME}/*dbasky* 2>/dev/null

  

运行下面命令让脚本立即生效
source /etc/profile

记录文件在 /tmp/historylog/