2013-10-03 82 views
0

我有一個debian服務器,我是服務器的管理員。服務器沒有正常工作,我想看看最後3-4位用戶登錄時執行了哪些命令(由每個登錄會話分隔,因爲同一個用戶登錄了多次)。有什麼辦法可以做到這一點?我是root用戶。如何查看特定登錄會話使用的命令?

回答

1

我發現a decent article,解釋各種審計工具,包括一個你想要的,lastcomm。這是ACCT包的一部分,這樣做:

sudo apt-get install acct 

輸出是非常詳細的,所以你可能要在其過濾器運行了命令:

$ lastcomm --command wajig apt-get 
wajig     tshepang pts/7  0.00 secs Tue Oct 8 22:56 
wajig     tshepang pts/7  0.00 secs Tue Oct 8 22:56 
apt-get   S  root  pts/7  0.52 secs Tue Oct 8 22:56 
apt-get   F root  pts/7  0.00 secs Tue Oct 8 22:56 
wajig     tshepang pts/7  0.00 secs Tue Oct 8 22:47 
apt-get   S  root  pts/7  0.45 secs Tue Oct 8 22:47 
apt-get   F root  pts/7  0.00 secs Tue Oct 8 22:47 

進一步信息,例如這些字段的含義可以在that article找到。

0

這取決於外殼的,如果bash,那麼你可以嘗試(如根):

cat /home/user_you_are_looking_for/.bash_history 
+0

這不會通過登錄會話分開。一種解決方法是爲每個用戶存儲一個主bash歷史記錄,然後在會話結束時與bash歷史記錄異或,然後通過會話id保存它。 –