[megoldva] ubuntu, rsyslog, könyvtár jogosultság

Fórumok

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 -n

Apr 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.

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

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.