在工作中,很有可能遇到需要对某个用户每个时间做了什么操作进行记录,并发送到服务器审计。如果单纯使用HISTORTY,无法记录到具体的时间。所幸,LINUX内置了一个命令可以完成这个功能


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'

使用PROMPT_COMMAND命令可以时实记录没得命令的操作时间(自己定义时间格式),并且发送到一个文件中。



如果需要发送日志

  1.   export PROMPT_COMMAND='{ date "+%y-%m-%d %T #### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}")  #### $(history 1 | { read x cmd; echo "$cmd"; })"; } | logger -p auth.info'
    配置在/etc/profile

    2.在SYSLOG 在配置发送地址就行了。