auditd o processo para o log após execuções de script logrotate

1

Estou tentando usar o logrotate para manter logs de auditoria por um período de tempo definido, em vez de usar a rotação especial do auditd (de /etc/audit/auditd.conf ). Eu mudei o max_log_file_action para IGNORE nesse arquivo.

A seguinte é minha configuração de logrotate:

/var/log/audit/audit.log {
    daily
    dateext
    rotate 180
    postrotate
        /bin/kill -HUP 'cat /var/run/auditd.pid 2> /dev/null' 2> /dev/null || true
    endscript
}

Os logs são girados com sucesso. No entanto, o daemon de auditoria não inicia o log novamente. /var/log/audit/audit.log permanece vazio até que eu reinicie o serviço auditd. Eu também tentei /bin/kill -USR1 e service auditd reload , mas essas opções também não funcionam bem. /bin/kill -USR1 na verdade mantém o daemon de auditoria em execução, mas cria um arquivo audit.log.1 vazio.

Existe uma maneira de enviar com sucesso um sinal para o daemon de auditoria para mantê-lo em execução após o logrotate?

Obrigado.

    
por Linux2012 01.06.2015 / 07:08

2 respostas

1

Respondendo isso devido a uma colisão da Comunidade ...

O auditd suporta rotação forçada via comando service auditd rotate . Você pode combinar isso com um cron para executá-lo com base no tempo. (Diário, por hora, toda terça-feira às 10h, etc.)

Um exemplo está incluído no RPM em /usr/share/doc/audit-$version/auditd.cron.

    
por 14.06.2017 / 04:26
0

Eu acredito que o seu comando kill está falhando em matar o processo. Tente o seguinte:

/var/log/audit/audit.log {
    daily
    dateext
    rotate 180
    postrotate
        $(/bin/kill 'cat /var/run/auditd.pid 2> /dev/null')
        service auditd restart
    endscript
}
    
por 21.10.2015 / 16:35