1. 程式人生 > >shell-監控Linux使用者登入後的操作,記錄history

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記錄

結果展示: