我有一个CentOS 6.6,我想配置rsyslog来登录/ var / log / secure每个root用户或普通用户插入的命令。
答案 0 :(得分:0)
在没有rsyslog配置的情况下尝试此操作
Snoopy是一个很小的库,可以记录系统上所有已执行的命令(+参数)。
这些是CentOS上的默认输出位置:/ var / log / secure
这就是典型的史努比输出:
2015-02-11T19:05:10+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679 tty:/dev/pts/2 cwd:/root filename:/usr/bin/cat]: cat /etc/fstab.BAK
2015-02-11T19:05:15+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679 tty:/dev/pts/2 cwd:/root filename:/usr/bin/rm]: rm -f /etc/fstab.BAK
2015-02-11T19:05:19+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679 tty:/dev/pts/2 cwd:/root filename:/usr/bin/tail]: tail -f /var/log/messages
使用rsyslog config
对于BASH shell,编辑系统范围的BASH运行时配置文件:
sudo -e /etc/bash.bashrc
追加到该文件的末尾:
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
使用新文件设置“local6”的日志记录:
sudo -e /etc/rsyslog.d/bash.conf
内容......
local6.* /var/log/secure
重启rsyslog:
sudo service rsyslog restart
https://askubuntu.com/questions/93566/how-to-log-all-bash-commands-by-all-users-on-a-server