【发布时间】:2015-05-18 11:51:47
【问题描述】:
我有一个 CentOS 6.6,我想配置 rsyslog 以登录 /var/log/secure 每个由 root 或普通用户插入的命令。
【问题讨论】:
标签: linux logging centos rsyslog
我有一个 CentOS 6.6,我想配置 rsyslog 以登录 /var/log/secure 每个由 root 或普通用户插入的命令。
【问题讨论】:
标签: linux logging centos rsyslog
在没有 rsyslog 配置的情况下试试这个
Snoopy 是一个小型库,可记录系统上所有已执行的命令(+ 参数)。
这些是 CentOS 上的默认输出位置:/var/log/secure
这是典型的 Snoopy 输出的样子:
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 配置
对于 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
【讨论】: