【转】Linux 利用 PROMPT_COMMAND 实现审计功能

linux历史命令记录在history,在用户退出的时候写入,不过有时候可以直接绕过去,不让写入,比如shutdown now,还有在一些情况下也是不予保存的,这让人很头疼 
使用PROMPT_COMMAND可以在用户输入一条命令,就直接记录,

export HISTORY_FILE=/var/log/history/`date '+%Y-%m-%d'`.log
export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print $1" "$2" "$5}")  #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'
  • 1
  • 2
  • 3

添加到/etc/profile 
显示样式如下,可以自己调整 
记录了具体的时间,用户,登录的ip和执行的命令

2016-05-05 11:11:22 ##### root pts/1 (222.95.178.228)  #### ls
原文地址:https://www.cnblogs.com/sysnap/p/7985861.html