Linux
我可以在伺服器上的所有使用者中搜尋 bash 歷史記錄嗎?
我想查看跨多個使用者帳戶在 Linux 伺服器上執行的所有 bash 命令。我使用的特定發行版是 CentOS 5.7。有沒有辦法在伺服器上全域搜尋 .bash_history 文件,或者它會是一個更本土的過程
locate | cat | grep
?(我只是打了個寒顫)。
用於
getent
列舉主目錄。getent passwd | cut -d : -f 6 | sed 's:$:/.bash_history:' | xargs -d '\n' grep -s -H -e "$pattern"
如果您的主目錄位於眾所周知的位置,則可能很簡單
grep -e "$pattern" /home/*/.bash_history
當然,如果使用者使用不同的 shell 或不同的值
HISTFILE
,這不會告訴你太多。這也不會告訴您未通過 shell 執行的命令,或有關別名和函式以及現在已刪除的外部命令,這些命令在使用者的$PATH
. 如果你想知道使用者執行了哪些命令,你需要程序記帳或一些更高級的審計系統;請參閱監視我的電腦上的活動。,如何檢查一個程序在完成後執行了多長時間?.