Linux利用PROMPT_COMMAND实现操作记录的功能

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
posted @ 2018-08-21 21:11  shangshanyang  阅读(3336)  评论(0编辑  收藏  举报