rsyslog zmiana właściciela pliku

6

Próbuję zmienić właściciela i grupę dziennika na innego użytkownika niż to, co jest rsyslog.conf, który ma:

#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

Mam niestandardowy plik .conf w /etc/rsyslog.d/99-custom.conf, który składa się z:

#Set the ownership to xxxxx
#$FileOwner xxxxx

# Send datastore logs to separate file

if $programname == 'datastore' then {
    action(
        type="omfile"
        FileCreateMode="0644"
        FileGroup="xxxxx"
        FileOwner="xxxxx"
        File="/var/log/folder/datastore.log"
    )
#/var/log/folder/datastore.log
~
}

#$FileOwner xxxxx
local6.*                -/var/log/folder/datastore.log
local6.notice           -/var/log/folder/notice.log

#Reset file ownership to root
#$FileOwner root

Próbowałem starej i nowej składni, ale uprawnienia będą brzmiały:

-rw-r--r--  1 syslog syslog  263 Nov  8 15:40 datastore.log

Dopiero gdy ustawię $ PrivDropToUser i $ PrivDropToGroup na rootowanie, pojawia się jako:

-rw-r--r--  1 xxxxx xxxxx  263 Nov  8 15:45 datastore.log

Wszelkie pomysły, dlaczego?

Andy
źródło

Odpowiedzi:

2

Zgodnie z tą stroną dokumentacji dyrektywy PrivDropToUser i PrivDropToGroup informują rsyslog, który użytkownik / grupa ma się stać po pierwszym uruchomieniu. Przypuszczam, że użytkownik syslog nie ma odpowiednich uprawnień do tworzenia plików, podobnie jak inni użytkownicy, podczas gdy root ma.

Po przeczytaniu powyższej strony uważam, że intencją jest to, że jeśli chcesz, aby twoje pliki dziennika były własnością użytkownika niższego poziomu, umieściłbyś tego użytkownika w ProvDropToUser; np $PrivDropToUser xxxxx $PrivDropToGroup xxxxx.

Musisz także upewnić się, że folder, w którym mają być zapisane pliki dziennika, umożliwia dostęp do zapisu przez użytkownika z PrivDropToUser lub grupy z PrivDropToGroup.

Znalazłem tę stronę, próbując dowiedzieć się, jak uczynić pliki dziennika mojej aplikacji internetowej możliwymi do odczytania przez moją aplikację, i pomyślałem, że podzielę się tym, co znalazłem, ponieważ nie ma odpowiedzi. Ale nie jestem ekspertem.

Dziękuję za pytanie, pomogło mi to znaleźć własną odpowiedź.

Joe Carey
źródło