2017-03-13 68 views
0

我想收集用戶執行的所有命令,以及linux中的root用戶。我如何每天收集所有命令。如何捕獲用戶在linux下執行的命令

是否有可能通過shell腳本收集所有命令?

如果有人知道這個要求,你能幫我嗎?

例如

如果USER1執行 「ls -l命令」,我們需要捕獲和root用戶執行 「DF -h」,我們需要捕獲。我的意思是。所有用戶在bash shell中執行命令,我們需要捕獲所有的命令。

感謝

+0

作爲日誌的命令?,我相信還沒有完成的Linux,所以最好找到保存的地方,而不是? –

+0

1.這不可能通過「命令」直接進行。 2。你可能希望收集由用戶shell編寫的歷史文件並評估這些文件,儘管這可能是不完整的。3.這是一個隱私問題,在大多數情況下可能是非法的,從道德的角度來看,它肯定是非常可疑的。 – arkascha

回答

0

可以使用history命令,返回執行的命令。

您可以閱讀this

我們的服務都在Linux正在運行。在Linux中,有一個非常有用的命令可以顯示最近使用過的所有最近的命令。該命令簡單地稱爲歷史記錄,但也可以通過查看您的主文件夾中的.bash_history進行訪問。默認情況下,歷史命令會顯示您輸入的最後五百個命令。

如果您希望一次查看歷史記錄,可以使用下面的命令。現在,你可以簡單地使用空格鍵在同一時間查看一個網頁或使用向下箭頭,每次查看一條線:

history | less 

要查看剛剛過去的十年命令,可以使用以下命令:

history | tail 

要查看最近25個命令,只需使用以下命令:

history 25 

如果要保存歷史的執行在一個文件中,你可以使用this

只是輸出重定向到一個文件:

history > someFile.txt 

或者,如果要追加數據:

history >> someFile.txt 

如果你想標準錯誤也使用此:

history &> someFile.txt 

或這要追加:

history &>> someFile.txt 
+0

@ramachandran,如果這個答案對您有幫助,您應該將其標記爲已接受。 – albert

2

使用history是非常不好的做法。因爲每個人都知道用戶可以輕鬆清理歷史。
對於這樣的任務,我們使用rootsh