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

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

如下:

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


<code>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/<code>

运行下面命令让脚本立即生效

source /etc/profile

生成的记录文件在 /tmp/historylog/


分享到:


相關文章: