如何记录服务器上所有用户的所有Bash(busybox / ash)命令?

时间:2018-11-15 17:04:23

标签: syslog busybox

我们如何本地记录所有运行的Bash命令以及用户和时间戳?

我正在寻找一种使用我自己的别名和诸如此类的东西自定义Ash会话的方法。 Bash的AbstractShape文件的Ash等效值是什么?

标准解决方案不起作用:

bashrc
  • 操作系统:linux 4.9
  • bash:.ash
  • logger:busybox(1.27.2)和syslog-ng(3.10)

1 个答案:

答案 0 :(得分:0)

这是针对rsyslog的:

  1. 编辑/etc/rsyslog.conf并在其中放置一行

    local6.*                                  /var/log/mylog
    
  2. 例如,代替PROMPT_COMMAND在/ etc / profile中导出PS1:

    export PS1='$(RETRN_VAL=$?;logger -p local6.debug "[$$]: $(history | tail -1) [$RETRN_VAL]")\u@\h:\w\$ '
    

当然,您可以更改命令以从历史记录输出中删除不必要的字符。