答案1
我使用它是因为我想获得 sudoer 用户的真实姓名
在 /etc/bashrc 中添加:
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
并在 rsyslog.conf 中(添加记录器 local6 来填充 /var/log/commads.log (将其添加到 boot.log 下面):
sed -ie '/log\/boot.log/a local6.* /var/log/commands.log' /etc/rsyslog.conf
systemctl restart rsyslog
由于 /var/log/command 就像历史记录,您可以使用 awk 处理它以仅获取必需的字段。