如何取得 Ubuntu Server 上特定使用者的命令日誌?

如何取得 Ubuntu Server 上特定使用者的命令日誌?

有沒有辦法找到使用者在 Ubuntu 11.10 Server 上執行的所有命令的日誌?我需要找出我的朋友運行了什麼來安裝程式。

答案1

如果您使用 bash 之類的東西作為命令解釋器,您可以檢查歷史記錄。

more /home/user/.bash_history

答案2

請遵循這些說明(修訂自這個答案)。

  1. 修改/etc/bash.bashrc

  2. 將以下行新增至該文件的末尾

     export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/[ ][0-9]+[ ]//" ) [$RETRN_VAL]"'
    
  3. 建立一個新文件

    /etc/rsyslog.d/bash.conf
    
  4. 將行新增至文件中

    local6.*    /var/log/commands.log
    
  5. 將行新增至文件 /etc/logrotate.d/rsyslog

    附近:

    /var/log/mail.warn
    /var/log/mail.err
    [...]
    /var/log/message   
    

    添加這個

    /var/log/commands.log
    
  6. 重新啟動 rsyslog。

    sudo service rsyslog restart
    

相關內容