天天看點

通過bash實作linux系統賬戶審計功能

轉文轉自: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的日志輪換呢?

可以測試一下!剛跑過了一次。

繼續閱讀