shell-监控Linux用户登录后的操作,记录history

背景:

公共的接口服务应用服务器,QA组25人都有root权限,又不好限制说突然抹了权限。

但最近一段 时间,时常有更新应用后配置文件被覆盖掉。查不到源头。

排查Ci自动构建后,不会有覆盖配置文件的情况。

故做此监控,说实话,加上监控已近3个月,未有发现配置文件被更改的情况。

果真是:人必须靠管理才能自觉呀。

在vim /etc/profile 加上一段shell

#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/.hist
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}.hist.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null

作用:

把root登陆的用户IP来源记录,包括在此机上操作的history记录

结果展示:

猜你喜欢

转载自blog.csdn.net/sincool1003/article/details/82968952