rsyslog alterando o proprietário do arquivo

3

Estou tentando alterar o proprietário e o grupo de um log para um usuário diferente do que é o rsyslog.conf, que possui:

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

Eu tenho um arquivo .conf personalizado em /etc/rsyslog.d/99-custom.conf que consiste em:

#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

Eu tentei a sintaxe antiga e a nova, mas as permissões serão lidas:

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

Somente quando eu defino o $ PrivDropToUser e o $ PrivDropToGroup como root, ele aparece como:

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

Alguma idéia porque?

    
por Andy 08.11.2017 / 17:49

1 resposta

1

De acordo com esta página de documentação , as diretivas PrivDropToUser e PrivDropToGroup informam ao rsyslog qual usuário / grupo se tornar após a inicial comece. Eu hipotetizaria que o usuário do syslog não tem permissões adequadas para criar arquivos como outros usuários, enquanto o root faz.

Da minha leitura da página acima, acho que a intenção é que, se você quiser que seus arquivos de log sejam de propriedade de um usuário de nível inferior, você os colocaria em ProvDropToUser; por exemplo. $PrivDropToUser xxxxx $PrivDropToGroup xxxxx .

Você também precisa garantir que a pasta na qual seus arquivos de log devem ser gravados permita acesso de gravação pelo usuário de PrivDropToUser ou grupo de PrivDropToGroup.

Eu encontrei esta página tentando descobrir como tornar os arquivos de log do meu aplicativo da Web legíveis pelo meu aplicativo e pensei em compartilhar o que descobri, já que não há resposta. Eu não sou especialista nisso.

Obrigado pela sua pergunta, isso me ajudou a encontrar minha própria resposta.

    
por 18.08.2018 / 18:22