logrotate não funciona para munin após a última atualização no OpenSUSE 11.4

5

Estou usando o munin 1.4.5 no OpenSUSE 11.4. Ultimamente logrotate foi atualizado para corrigir alguns problemas de permissão e depois queixou-se com

Mar  3 12:15:05 lucien logrotate: error: "/var/log/munin" has insecure permissions. It must be owned and be writable by root only to avoid security problems. Set the "su" directive in the config file to tell logrotate which user/group should be used for rotation.
Mar  3 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-html.log: Bad file descriptor
Mar  3 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-limits.log: Bad file descriptor
Mar  3 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-update.log: Bad file descriptor
Mar  3 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-graph.log: Bad file descriptor
Mar  3 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-node.log: Bad file descriptor

Então eu adicionei as diretivas su a /etc/logrotate.d/munin e /etc/logrotate.d/munin-node :

/var/log/munin/munin-html.log
/var/log/munin/munin-nagios.log
/var/log/munin/munin-limits.log
/var/log/munin/munin-update.log {
    su munin munin
    daily
    missingok
    rotate 7
    compress
    copytruncate
    notifempty
    create 640 munin munin
}
/var/log/munin/munin-graph.log {
    su munin www
    daily
    missingok
    rotate 7
    compress
    copytruncate
    notifempty
    create 660 munin www
}
/var/log/munin/munin-cgi-graph.log {
    su wwwrun munin
    daily
    missingok
    rotate 7
    compress
    copytruncate
    notifempty
    create 640 wwwrun www
}

/var/log/munin/munin-node.log {
    su munin munin
    daily
    missingok
    rotate 7
    compress
    copytruncate
    notifempty
    create 640 munin munin
}

Agora o logrotate não roda mais.

Mar  5 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-html.log: Bad file descriptor
Mar  5 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-limits.log: Bad file descriptor
Mar  5 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-update.log: Bad file descriptor
Mar  5 12:15:05 lucien logrotate: error: error reading /var/log/munin/munin-graph.log: Bad file descriptor
Mar  5 12:15:05 lucien logrotate: error: error setting owner of /var/log/munin/munin-cgi-graph.log-20120305: Operation not permitted
Mar  5 12:15:05 lucien logrotate: error: error opening /var/log/munin/munin-node.log: Permission denied

Um ls -la de /var/log/munin/ é aqui .

Como faço para o logrotate funcionar novamente com munin?

    
por Martin Schröder 11.03.2012 / 17:41

3 respostas

0

Acontece que este foi um bug introduzido em logrotate-3.7.9-6.9.1 e corrigido em logrotate-3.7.9-6.12.1 .

    
por 09.04.2012 / 01:31
2

Existe uma grande confusão nas suas permissões em / var / log / munin e no seu arquivo de configuração. Você tem um par diferente de usuário / grupo para seus arquivos e um grupo / par diferente em sua configuração.

Você tem 2 opções para resolver seu problema

  1. Usar raiz padrão: permissões de raiz
  2. Especifique em TODOS seu munin rege o mesmo par de usuário / grupo

Primeiro, você pode redefinir as permissões recursivamente com chown:

chown -R USER:GROUP /var/log/munin

Depois, se você escolher a segunda solução, terá que substituir todas as linhas su ... por esta:

su USER GROUP

Se você escolher a primeira solução, terá que remover totalmente todas as linhas su ... .

    
por 17.03.2012 / 19:00
1

Execute logrotate manualmente como root com '-d' (como debug) e você verá uma boa saída falante.

    
por 14.03.2012 / 10:44