Linux: Como impor permissões específicas em logs recém-criados que são criados por rotação de log?

11

Tenho notado que os logs de e-mail que estão sendo criados em /var/log estão sendo criados e são de propriedade de root (usuário e grupo). Eu escrevi uma verificação do Nagios que monitora o log e para permitir que o usuário do Nagios o acesse, eu dei as permissões de leitura do grupo other , ou seja:

chmod o+r /var/log/maillog

Agora, quando penso nisso, este é apenas um arquivo de log, quando o arquivo de log for preenchido, o mecanismo de rotação de log renomeará esse arquivo e abrirá um novo, mas o novo arquivo maillog não terá o read right que eu permiti.

Então, minha pergunta é: como posso ter certeza de que o mecanismo de rotação de log criará todos os novos arquivos do mailllog com as permissões corretas para o usuário do Nagios?

Obrigado antecipadamente

    
por Itai Ganot 29.12.2014 / 14:16

1 resposta

15

logrotate tem a opção create :

create mode owner group

Immediately after rotation (before the postrotate script is run) the log file is created (with the same name as the log file just rotated). mode specifies the mode for the log file in octal (the same as chmod(2)), owner specifies the user name who will own the log file, and group specifies the group the log file will belong to. Any of the log file attributes may be omitted, in which case those attributes for the new file will use the same values as the original log file for the omitted attributes. This option can be disabled using the nocreate option.

Mais informações com man logrotate .

Use assim:

/var/log/maillog {
....
        create 664 user group
....
}

em /etc/logrotate.conf ou um arquivo separado em /etc/logrotate.d e verifique se nenhum outro arquivo já substitui isso. Como isso é configurado depende do seu sistema operacional (por exemplo, no Ubuntu, isso é tratado na configuração rsyslog ).

    
por 29.12.2014 / 14:24