在/etc/profile中加入以下腳本
- #history
- USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
- HISTDIR=/usr/share/.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=4000
- DT=`date +%Y%m%d_%H%M%S`
- export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
- export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
- chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
這段腳本的作用是把每個用戶執行的命令記錄在/usr/share/.history下以用戶名命名的目錄下,歷史記錄文件名根據用戶ip和時間命名。打開/usr/share/.history目錄會發現裏邊保存了之前記錄的歷史命令文件
在/etc/bashrc中加入幾個環境變量,用於history命令顯示用戶ip等內容
- #history
- USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
- HISTFILESIZE=4000
- HISTSIZE=4000
- HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "
- export HISTTIMEFORMAT
在終端中輸入 history,顯示效果如下:
顯示的結果中多了時間戳,ip,用戶名等信息。
轉載於:http://blog.csdn.net/a806267365/article/details/40581159