Hallo an die Experten und solche, die es werden wollen ☺.
Gegeben ist ein Samba in einer Produktivumgebung mit aktiviertem full_audit, um Schreibvorgänge zu protokollieren. Dies erfolgt per
full_audit:failure = none full_audit:success = pwrite write rename link full_audit:prefix = IP=%I|MACHINE=%m|USER=%u|SHARE=%S full_audit:facility = local7 full_audit:priority = notice
in der smb.conf. Im rsyslog ist dies eingestellt:
local7.* /var/log/smbd_audit.log
damit die Zeilen im gewünschten Log landen.
Problem ist seit dem Upgrade auf eine Version mit Systemd, dass die Meldungen ebenfalls vom systemd-journald in /var/log/journal protokolliert werden. Kann man die Protokollierung für eine bestimmte Syslog Facility (hier local7) im systemd-journald deaktivieren? Die Meldungen sollen ausschließlich vom rsyslog verarbeitet werden. Wo kann man da ansetzen?
Nachfolgend die bisher überlegten Ansätze, von denen keiner zufriedenstellend ist:
In /etc/systemd/journald.conf die Einstellung Storage=volatile zu setzen, verhindert zwar das Schreiben in /var/log/journal, aber die Meldungen erscheinen trotzdem noch beim
systemctl status smbd
was weder sinnvoll noch gewünscht ist.
Ähnlich wie vorgenannter Punkt: Mit Storage=none erscheinen gar keine Meldungen mehr, von keinem Dienst, was auch wieder nicht sinnvoll ist. Die üblichen Meldungen beim Starten/Stoppen von Diensten sollen dort schon noch ablesbar sein (ohne erst in die Logs schauen zu müssen).
Die Protokollierung des smbd.service nur durch systemd-journald vornehmen zu lassen (StandardOutput=file:/var/log/smbd_audit.log) hat den Nachteil, dass dann alle Ausgaben von Samba in diesem Log landen, potentiell auch Dinge, die nicht vom full_audit stammen.
Grüße Dalai