
我想知道哪個用戶在終端上執行了哪個命令以及何時執行,即如果任何用戶執行“rmdir abc”並刪除了特定目錄,我應該知道他執行了哪個命令以及在什麼時間。在單一會話中,這些資料應該像我們維護日誌一樣可供我使用,以便我可以在任何時間點對其進行分析。
我history
也嘗試了該命令,並為其添加了時間,但它不顯示該命令的“用戶”,而且它是基於會話的,因此~/.bash_history
除非退出會話,否則它的數據不會附加到文件中。也~/.bash_history
沒有顯示時間和用戶,所以它沒有用。
答案1
您可以使用以下命令檢查使用者執行的命令sudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
有關更多信息,您還可以檢查 AUTH 日誌tail /var/log/auth.log | grep username
試試這個類似的問題:如何查看 bash 歷史記錄中的時間戳記?
答案2
我猜它在所有用戶自己的 bash 歷史文件中。您只需要取得 .bash 歷史文件清單並對其進行分類。
cd /home
find |grep .bash_history
輸出:
./gediz/.bash_history
比貓它
cat ./gediz/.bash_history
你可以在 for 迴圈中完成
a=find ...
for i in $a
do
echo $a
cat $i
done
您可以使用while 循環為ubuntu 啟動創建一個服務或編輯rc.local 文件,該循環將每個循環中的所有用戶.bash_history 備份到安全位置,這樣即使用戶刪除了他們的,您也可以檢查已完成的操作。