運維與研發人員一多,登陸服務器操做的狀況愈來愈常見,爲了安全,有必要對登陸系統的每次操做都進行記錄,以方便後期瞭解,掌握,審計。安全
簡單解決辦法:服務器
修改/etc/profile文件,在最後增長以下內容:運維
HISTFILESIZE=2000ide
HISTTIMEFORMAT="%Y%m%d-%H%M `whoami` "spa
保存文件,退出,輸入source /etc/profile,讓環境生效,或者退出終端,從新登陸也能夠。日誌
查看命令,在終端輸入history便可看到歷史命令的orm
但這裏有個問題,由於只是記錄了時間與命令,沒有記錄登陸的IP地址,後期的審計也不方便,爲防止以上狀況,能夠在/etc/profile文件中,進行完善,把如下兩條命令去掉,用新的內容進行填充。blog
HISTFILESIZE=2000進程
HISTTIMEFORMAT="%Y%m%d-%H%M `whoami` "get
新內容爲:
### add by lgh2 at 2016-01-06
#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`
exportHISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.hist.$DT"
chmod 600 $HISTDIR/${LOGNAME}/*.hist* 2>/dev/null
###end by lgh2
解說:全部操做命令記錄存放在/var/log/.hist/{用戶}/目錄下,即便是同一個終端幾個不一樣的窗口,在該窗口退出或關閉時,該用戶目錄下會生產一個文件,多個窗口會生產多個文件,最後只要查看這些文件內容,就能夠看出歷史操做了。