Linux下记录所有用户的操作命令,以方便后期审计

运维与研发人员一多,登录服务器操作的情况越来越常见,为了安全,有必要对登录系统的每次操作都进行记录,以方便后期了解,掌握,审计。

vim /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/cmd #日志目录
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`
exportHISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*cmd* 2>/dev/null

保存退出后,执行source /etc/profile让配置生效。

Linux下记录所有用户的操作命令,以方便后期审计_第1张图片

所有操作命令记录存放在/var/log/cmd/{用户}/目录下,即使是同一个终端几个不同的窗口,在该窗口退出或关闭时,该用户目录下会生产一个文件,多个窗口会生产多个文件,最后只要查看这些文件内容,就可以看出历史操作了。

本文转自:https://blog.51cto.com/369369/1732164

你可能感兴趣的:(Linux下记录所有用户的操作命令,以方便后期审计)