Linux記錄執行的命令並通過Rsyslog集中存儲

  • 2019 年 10 月 4 日
  • 筆記

原文地址: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 "33]0;%s@%s:%s07" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"; history -a >(logger -p authpriv.info -t "$USER[$PWD] ${SSH_CLIENT%% *}")'          ;;  esac

這樣我們就把bash命令行下執行的命令,都記錄到 /var/log/secure文件裏面。

配合上面的rsyslog遠程收集日誌功能, 就可以完成一個日誌存儲的功能,還可以再搭配個loganalyzer程序, 供等保或者日常審計用。

最終收集到的日誌類似這種: