Linux下查看使用者登陸後的操作記錄

來源:互聯網
上載者:User

 

 

 

 

Linux下查看使用者登陸後的操作記錄   在linux系統的環境下,不管是root使用者還是其它的使用者只有登陸系統後用進入操作我們都可以通過命令history來查看記錄,可是假如一台 伺服器多人登陸,一天因為某人誤操作了刪除了重要的資料。

  這時候通過查看記錄(命令:history)是沒有什麼意義了。那有沒有什麼辦法實現通過記錄登陸後的IP地址和某使用者名稱所操作的記錄 呢?答案:有的。

  通過在/etc/profile裡面加入以下代碼就可以實現:

  PS1="`whoami`@`hostname`:"'[$PWD]'

  history

  USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`         #print $NF取最後一個域的欄位

  if [ "$USER_IP" = "" ]

  then

  USER_IP=`hostname`

  fi

  if [ ! -d /tmp/dbasky ]

  then

  mkdir /tmp/dbasky

  chmod 777 /tmp/dbasky

  fi

  if [ ! -d /tmp/dbasky/${LOGNAME} ]

  then

  mkdir /tmp/dbasky/${LOGNAME}

  chmod 300 /tmp/dbasky/${LOGNAME}

  fi

  export HISTSIZE=4096

  DT=`date " %Y%m%d_%H%M%S"`

  export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"

  chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

  其實通過上面的代碼不能看出來,在系統的/tmp建立個dbasky目錄,在目錄中記錄了所有的登陸過系統的使用者和IP地址,是不是覺得很方便 呢?我們還可以用這個方法來監測系統的安全性。

 

可以看到在使用history命令的時候是沒時間顯示,不知道這個命令是什麼時候所執行,這個時候可以編輯/etc/bashrc檔案,加入如下三行:   HISTFILESIZE=2000

HISTSIZE=2000
HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”
export HISTTIMEFORMAT

儲存後退出,關閉當前shell,並重新登入
這個時候,在~/.bash_History檔案中,就有記錄命令執行的時間了

  

 #  W
    查看使用者的操作可以在W後面加上某個使用者名稱,則會查看該使用者執行任務的情況。
    #who查看登陸使用者
    想查看那某個使用者的登陸情況,也可以在LAST命令後加上使用者名稱

本文來自: 電腦知識大全(www.96pc.com) 詳細出處參考:http://www.96pc.com/Xt/Linux/ml/243932.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.