轉文轉自:http://www.sudu.cn/info/index.php?op=article&id=17049
實作該功能要求如下:
1.接受審計的登入使用者預設shell必須為bash
2.bash版本至少3.00或以上
需要該要求的原因是實作功能的方法需要用到history指令的HISTTIMEFORMAT變量和PROMPT_COMMAND變量.
對于其他的shell我并未測試.如果其他shell可以實作這兩個變量的功能那麼理論上也可以使用.
實作方法如下:
5.編輯/etc/profile
在末尾添加下面内容
重新登入後,即可看到/var/log/audit.log重新整理的實時日志
該審計功能是通過bash的一個變量PROMPT_COMMAND的特性實作.
經過本人測試,發現确實可以實作!
之後的方法,我認為可以過過指令行來查詢每個使用者的執行的指令,例如:
其他使用者的操作指令記錄,解釋一下cheng(root),它的意思是原本登入的使用者是root,後來切換到了cheng這個賬戶。如果使用者使用的是cheng這個賬戶登入的話,那麼顯示會是cheng.cheng.
通過以上的測試,發現已基本實際了賬戶審計,指令記錄功能。當然為了日後考慮,可以給audit.log這個檔案做循環。
如何做audit.log的日志輪換呢?
可以測試一下!剛跑過了一次。