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

        在linux系統的環境下,不管是root用戶還是其它的用戶只有登陸系統後用進入操作我們都可以通過命令history來查看歷史記錄,可是假如一臺服務器多人登陸,一天因爲某人誤操作了刪除了重要的數據。

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

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

 

  1. PS1="`whoami`@`hostname`:"'[$PWD]' 
  2. history 
  3. USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'
  4. if [ "$USER_IP" = "" ] 
  5. then 
  6. USER_IP=`hostname` 
  7. fi 
  8. if [ ! -d /tmp/dbasky ] 
  9. then 
  10. mkdir /tmp/dbasky 
  11. chmod 777 /tmp/dbasky 
  12. fi 
  13. if [ ! -d /tmp/dbasky/${LOGNAME} ] 
  14. then 
  15. mkdir /tmp/dbasky/${LOGNAME} 
  16. chmod 300 /tmp/dbasky/${LOGNAME} 
  17. fi 
  18. export HISTSIZE=4096 
  19. DT=`date " %Y%m%d_%H%M%S"
  20. export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT" 
  21. chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章