在工作中,很有可能遇到需要对某个用户每个时间做了什么操作进行记录,并发送到服务器审计。如果单纯使用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命令可以时实记录没得命令的操作时间(自己定义时间格式),并且发送到一个文件中。
如果需要发送日志
-
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/profile2.在SYSLOG 在配置发送地址就行了。
本文转自 zfno11 51CTO博客,原文链接:http://blog.51cto.com/zfno111/1926734