linux記錄每個用戶執行的命令


1.在/etc/profile中添加如下代碼:

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

2.在/etc/bashrc中添加如下代碼:

  1. #history  
  2. USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`   
  3. HISTFILESIZE=4000  
  4. HISTSIZE=4000  
  5. HISTTIMEFORMAT="%F %T ${USER_IP} `whoami` "  
  6. export HISTTIMEFORMAT  

最終效果:

  這段腳本的作用是把每個用戶執行的命令記錄在/usr/share/.history下以用戶名命名的目錄下,歷史記錄文件名根據用戶ip和時間命名。打開/usr/share/.history目錄會發現里邊保存了之前記錄的歷史命令文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM