主要功能: 可以记录哪个ip和时间(精确到秒)作了哪些命令 通过用户登录时候,重新定义HISTFILE HISTFILE文件名包含登录用户名,ip,登录时间(精确到秒)等 这样即使相同的用户从不同ip、在不同的时间登录都会被记录 可以记录每条命令的开始执行时间 把下面的代码直接粘贴到/etc/profile后面就可以了
#history
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
USER_IP=who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'
HISTDIR=/var/log/.history
if [ -z $USER_IP ]; then
USER_IP=hostname
fi
if [ ! -d $HISTDIR ]; then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]; then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4096
DT=$(date +%Y%m%d_%H%M%S)
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
#chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null