rsyslog schreibt nach dem Neustart keine Protokolldatei

rsyslog schreibt nach dem Neustart keine Protokolldatei

Zunächst einmal vielen Dank, dass Sie sich die Zeit genommen haben, sich dieses Problem anzusehen. Das wissen wir sehr zu schätzen.

Ich hatte die angehängte rsyslog.conf-Konfiguration eine Zeit lang laufen, bis ich heute rsyslog neu starten musste, da eine Festplatte voll wurde. Das Ergebnis ist, dass rsyslog jetzt an einem neuen Ort (aktualisiert in der .conf-Datei) mit allen vorherigen Berechtigungen (derzeit root|root rw, um sicher zu testen) protokolliert.

Das Problem, mit dem ich konfrontiert bin, ist, dass rsyslog keine Datei ausgibt, egal was ich versuche. Ich habe einen TCPdump ausgeführt und empfange immer noch Daten. Die Übereinstimmungskriterien (Host-IP-Adresse) sollten sich nicht geändert haben und die Konfiguration hat sich auch nicht geändert.

Für jede Hilfe, insbesondere für Debug-Befehle, die ich ausführen kann, wäre ich sehr dankbar. Ich würde lieber etwas Neues lernen (wie rsyslog), als es zu deinstallieren und stattdessen einfach syslog-ng zu verwenden ... Hier ist die Konfiguration:

    ### Modules
$ModLoad imtcp
$ModLoad imudp
$ModLoad imuxsock       # provides support for local system logging (e.g. via logger command)
$ModLoad imklog         # provides kernel logging support (previously done by rklogd)

### Set log file permissions
$FileOwner root
$FileGroup root
$FileCreateMode 0777
$DirCreateMode 0777
$Umask 0022
$PrivDropToUser root
$PrivDropToGroup root

### Listeners
# bind ruleset to tcp listener
$InputTCPServerBindRuleset remote
# and activate it:
$InputTCPServerRun 514

$InputUDPServerBindRuleset remote
$UDPServerRun 514

### Templates
#Format the message correctly
$template MsgFormat,"%msg%\n"

# log every host in its own directory

##$template TESTLOG,"/opt/rsyslog/var/log/test.log"

### Rulesets
# Local Logging
# N/A None required at this point in time
#
# Remote Logging
$RuleSet remote

#---MY MATCHING RULE---#

if ($fromhost-ip == "192.168.1.1") then ?TESTLOG

Danke im Voraus :)

Antwort1

Sie verwenden einen benutzerdefinierten Pfad für Ihre Protokolldatei, sodass Selinux Sie blockiert. Versuchen Sie, setenforce 0rsyslog auszugeben und neu zu starten. Wenn es jetzt funktioniert, ist bestätigt, dass Ihr Problem Selinux war.

Um dies dauerhaft zu beheben und gleichzeitig weiterhin Selinux zu verwenden, müssen Sie Folgendes ausführen:

semanage fcontext -a -t var_log_t '/opt/rsyslog(/.*)?'; restorecon -RF /opt/rsyslog

Starten Sie danach rsyslog neu.

verwandte Informationen