【问题标题】:Configure rsyslog to log all commands配置 rsyslog 以记录所有命令
【发布时间】:2015-05-18 11:51:47
【问题描述】:

我有一个 CentOS 6.6,我想配置 rsyslog 以登录 /var/log/secure 每个由 root 或普通用户插入的命令。

【问题讨论】:

    标签: linux logging centos rsyslog


    【解决方案1】:

    在没有 rsyslog 配置的情况下试试这个

    Snoopy 是一个小型库,可记录系统上所有已执行的命令(+ 参数)。

    https://github.com/a2o/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

    【讨论】:

      猜你喜欢
      • 2016-08-16
      • 1970-01-01
      • 2021-04-14
      • 2014-03-29
      • 2016-08-10
      • 2022-10-24
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      相关资源
      最近更新 更多