終端命令,用於獲取有關終端所有會話中執行的所有命令的時間和用戶的信息

終端命令,用於獲取有關終端所有會話中執行的所有命令的時間和用戶的信息

我想知道哪個用戶在終端上執行了哪個命令以及何時執行,即如果任何用戶執行“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 備份到安全位置,這樣即使用戶刪除了他們的,您也可以檢查已完成的操作。

相關內容