LINUX用戶登錄後精確命令記錄(history 按時間、用戶顯示命令記錄)

LINUX用戶登錄後精確命令記錄(history 按時間、用戶顯示命令記錄)

 # 設置保存歷史命令的文件大小
   export HISTFILESIZE=10000000

   # 保存歷史命令條數
   export HISTSIZE=1000000

   # 實時記錄歷史命令,默認只有在用戶退出之後纔會統一記錄,很容易造成多個用戶間的相互覆蓋。
   export PROMPT_COMMAND="history -a"

   # 記錄每條歷史命令的執行時間
   export HISTTIMEFORMAT="%Y-%m-%d_%H:%M:%S "

 
   備:%Y:4位數的年份;%m:2位數的月份數;%d:2位數的一個月中的日期數;%H:2位數的小時數(24小時制);%M:2位數的分鐘數;%S:2位數的秒數


主要功能:
  可以記錄哪個ip和時間(精確到秒)作了哪些命令
  通過用戶登錄時候,重新定義HISTFILE
  HISTFILE文件名包含登錄用戶名,ip,登錄時間(精確到秒)等
  這樣即使相同的用戶從不同ip、在不同的時間登錄都會被記錄
  可以記錄每條命令的開始執行時間
  把下面的代碼直接粘貼到/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/.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
  得到的結果,永久保存,每個用戶的命令記錄分目錄保存
  # ls -l /var/log/.hist/root/
  -rw------- 1 root root 546 2006-05-26 10:00 218.82.245.54.hist.20060526_092458
  -rw------- 1 root root 243 2006-05-28 13:28 218.82.245.54.hist.20060528_114822
  -rw------- 1 root root 10 2006-05-28 12:18 218.82.245.54.hist.20060528_121605
  查看命令記錄
  # export HISTFILE=/var/log/.hist/root/222.72.16.204.hist.20060608_152551
  # history
  1 [2006.06.24 13:22:51] vi /etc/profile
  2 [2006.06.24 13:23:25] cd /var/log/.hist
  3 [2006.06.24 13:23:26] ls -al
  4 [2006.06.24 13:23:30] cd sadmin
  5 [2006.06.24 13:23:31] ls -al
  6 [2006.06.24 13:24:22] more 58.35.169.51.hist.20060524_193219
  7 [2006.06.24 13:24:35] 222.72.16.204.hist.20060622_143133
  8 [2006.06.24 13:24:39] more 222.72.16.204.hist.20060622_143133
  9 [2006.06.24 13:24:51] hist -f 222.72.16.204.hist.20060622_143133
 
    10 [2006.06.24 13:24:59] history -f 222.72.16.204.hist.20060622_143133
  11 [2006.06.24 13:25:12] history 222.72.16.204.hist.20060622_143133
  12 [2006.06.24 13:25:32] man histtory
  13 [2006.06.24 13:25:38] man history
  14 [2006.06.24 13:26:00] hist
  15 [2006.06.24 13:26:04] history
  16 [2006.06.24 13:26:16] ls
  17 [2006.06.24 13:26:39] export 222.72.16.204.hist.20060622_143133
  18 [2006.06.24 13:26:59] export HISTFILE=222.72.16.204.hist.20060608_152551
  19 [2006.06.24 13:27:07] history
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章