天天看點

LINUX使用者登入後精确指令記錄

主要功能:

  可以記錄哪個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 ]

  mkdir -p $HISTDIR

  chmod 777 $HISTDIR

  if [ ! -d $HISTDIR/${LOGNAME} ]

  mkdir -p $HISTDIR/${LOGNAME}

  chmod 300 $HISTDIR/${LOGNAME}

  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  主要功能:

  19 [2006.06.24 13:27:07] history

繼續閱讀