如何在 CentOS/RHEL 7 中以非 root 用户身份运行 rsyslog

我们可以利用 $PrivDropToUser 、 $PrivDropToUserID 、 $PrivDropToGroup 和 $PrivDropToGroupID 配置指令以非 root 用户身份运行 rsyslog。
使用这些变量时,rsyslog 将以 root 身份启动,但在初始化后将下降到指定的用户和/或者组。
然后守护程序将根据指定用户或者组的权限运行。

注意:如果 SELinux 在系统上处于“强制”模式,则可能需要进行另外的故障排除以确保以下步骤按预期工作。

  1. rsyslog在CentOS/RHEL 7中默认以root身份运行,非root用户运行会出现权限问题。

  2. 为确保我们可以从 /run/logs/journal 中的 systemd 日志中获取日志记录,请将指定用户修改为“systemd-journald”组的成员:

# usermod -G systemd-journal [specified_user]
  1. 此外,我们需要确保非 root 用户对以下日志以及它们包含在 (/var/lib, /var/log) 中的目录具有写访问权限:
/var/lib/rsyslog
/var/log/messages
/var/log/secure
/var/log/maillog
/var/log/cron
/var/log/spooler
/var/log/boot.log
日期:2020-09-17 00:13:50 来源:oir作者:oir