Linux中的PROMPT_COMMAND會記錄下出現提示符前面的命令,利用這個特性可以實現記錄所有用戶的操作記錄。
root用戶身份下,進行以下操作:
方法一(記錄到指定文件中):
vi /etc/profile
#在最后一行追加以下環境變量
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T WHO: $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") PATH: $(pwd) CMD: $(history 1 | { read x cmd; echo "$cmd"; })"; } >> /var/log/audit_cmd.txt'
#保存並執行如下:
source /etc/profile
方法二(記錄到/var/log/messages中):
vi /etc/profile
#在最后一行追加以下環境變量
export PROMPT_COMMAND='{ msg=$(history 1|{ read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg";}'
#保存並執行如下:
source /etc/profile