Bash记录用户执行命令

功能区
 taochengwei   Linux  shell   2017-08-20 18:16   百度主动推送失败
正文区

linux命令审计功能,CentOS7下测试,记录所有用户的命令操作。

1. 准备

touch /var/log/myaudit.log
chmod a+w /var/log/myaudit.log

2. 根据变量写日志

修改/etc/profile,追加以下代码,重新登录生效。

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

效果如下图,

QQ截图20170820181608