原文地址:https://blog.51cto.com/liqingbiao/2119953


这里,我在文章的基础上,再补充了一个功能点:

vim /etc/profile.d/bash-prompt-command.sh  内容如下:

case $TERM in
    linux)
        declare -r PROMPT_COMMAND='history -a >(logger -p authpriv.info -t "$USER[$PWD] ${SSH_CLIENT%% *}")'
        ;;
    *)
        declare -r PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"; history -a >(logger -p authpriv.info -t "$USER[$PWD] ${SSH_CLIENT%% *}")'
        ;;
esac


这样我们就把bash命令行下执行的命令,都记录到 /var/log/secure文件里面。


配合上面的rsyslog远程收集日志功能, 就可以完成一个日志存储的功能,还可以再搭配个loganalyzer程序, 供等保或者日常审计用。



最终收集到的日志类似这种:

Linux记录执行的命令并通过Rsyslog集中存储_第1张图片

Linux记录执行的命令并通过Rsyslog集中存储_第2张图片