Hi,
Ubuntu 18.04 + rsyslog
# rsyslog.conf
module(load="imuxsock")
module(load="imklog" permitnonkernelfacility="on")
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$RepeatedMsgReduction on
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.conf
# rsyslog.d/50-default.conf
$template FooLog,"/var/log/syslog/foo/foo-%$year%%$month%%$day%.log"
foo.* ?FooLog
& ~# write all other logs /var/log/messages
*.*/var/log/messages
A probléma: minden reboot után döglött az rsyslog
systemctl status syslog
● rsyslog.service - System Logging Service
Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-04-27 12:44:28 UTC; 5min ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 4449 (rsyslogd)
Tasks: 4 (limit: 4915)
CGroup: /system.slice/rsyslog.service
└─4449 /usr/sbin/rsyslogd -nApr 27 12:49:56 myserver rsyslogd[4449]: error during config processing: omfile: creating parent directories for file 'Permission denied' fail
Apr 27 12:49:56 myserver rsyslogd[4449]: error during config processing: Could not open dynamic file '/var/log/syslog/foo/foo-20210427.log' [state -3000] - discarding message [v8.3
A /var/log/syslog syslog:adm kezében van.
Van egy workaround, hogy ha 0740-re állítom a /var/log/syslog -on a jogokat, akkor az rsyslog a következő rebootig rendben fut. Viszont reboot után visszaáll a jogosultság 0640-re (a konfigban FileCreateMode tényleg 0640-et mutat, nem ez nem az).
Annyi "trükk" van még, hogy a /var/log/syslog egy lokális diskről jön (btw tök irreleváns, csak hozzá tartozik a képhez ez is):
LABEL=syslog /var/log/syslog ext4 defaults 0 0
Próba képpen fstab-ból kivettem a fenti sort, átütöttem 0740-re a könyvtárat és reboot, de utána megint 0640 volt, tehát a mountolásnak nincs hozzá köze (elkeseredett próba volt csak).
Bármi ötlet, hogy mi állíthatja vissza a jogosultságot reboot közben? Vagy legalább hogyan tudom megkeresni? (/etc -t szénné túrtam, semmi más nem piszkálja a syslog könyvtárat).
Nem szeretném reboot után állandóan még egy chmod + rsyslog restart scripttel fixálni.
- 94 megtekintés
Hozzászólások
jo esellyel az /usr/lib/tmpfiles.d/00rsyslog.conf , rosszul valasztottal konyvtarnevet, a /var/log/syslog ugyanis a "gyari" konfigban egy logfile
- A hozzászóláshoz be kell jelentkezni
Pont ez akartam írni. Ment a +1
Helyesen mondjuk így kéne kinéznie: /var/log/foo/foo-<dátum>.log
- A hozzászóláshoz be kell jelentkezni
Hát ez kész. Életemben nem hallottam erről a file-ról.
A syslog az én esetemben szándékosan könyvtár, "kompatibilitás" miatt (mindegy).
Thx!
- A hozzászóláshoz be kell jelentkezni
Hasonlóan szopatott meg az nginx.
Hiába definiálom a logfájlokat a defaulttól eltérő elérési útra, még mielőtt feldolgozná a logfájlt, induláskor a default helyen keresi, ami nem létezett így el sem indult és a konfig feldolgozásáig el se jutott.
Az én szememben ez bug. Megoldottam workarounddal.
- A hozzászóláshoz be kell jelentkezni