Sie können $PrivDropToUser verwenden , $PrivDropToUserID , $PrivDropToGroup und $PrivDropToGroupID Konfigurationsanweisungen, um rsyslog als Nicht-Root-Benutzer auszuführen. Wenn diese Variablen verwendet werden, startet rsyslog als root, wird aber nach der Initialisierung auf den angegebenen Benutzer und/oder die angegebene Gruppe verschoben. Der Daemon wird dann gemäß den Berechtigungen des angegebenen Benutzers oder der angegebenen Gruppe ausgeführt.
Hinweis :Wenn sich SELinux auf Ihrem System im „erzwingenden“ Modus befindet, ist möglicherweise eine zusätzliche Fehlerbehebung erforderlich, um sicherzustellen, dass die folgenden Schritte wie erwartet funktionieren.1. rsyslog wird in CentOS/RHEL 7 standardmäßig als Root ausgeführt, und es treten Berechtigungsprobleme auf, wenn es als Nicht-Root-Benutzer ausgeführt wird.
2. Um sicherzustellen, dass Sie Protokolle aus dem systemd-Journal in /run/logs/journal abrufen können , ändern Sie den angegebenen Benutzer so, dass er Mitglied des „systemd-journald“ wird ‘Gruppe:
# usermod -G systemd-journal [specified_user]
3. Außerdem müssen Sie sicherstellen, dass der Nicht-Root-Benutzer Schreibzugriff auf die folgenden Protokolle hat, sowie auf die Verzeichnisse, in denen sie enthalten sind (/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