Я пытаюсь использовать logrotate для хранения журналов аудита в течение заданного периода времени, а не использовать специальную ротацию auditd (из /etc/audit/auditd.conf
). Я изменил max_log_file_action
к IGNORE
в этом файле.
Ниже представлена моя конфигурация 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
}
Журналы успешно повернуты. Однако демон аудита больше не начинает вести журнал. /var/log/audit/audit.log
остается пустым, пока я не перезапущу службу auditd. Я тоже пробовал /bin/kill -USR1
и service auditd reload
, но и эти варианты не работают. /bin/kill -USR1
фактически поддерживает работу демона аудита, но создает пустой audit.log.1
файл.
Есть ли способ успешно отправить сигнал демону аудита, чтобы он продолжал работать после logrotate?
Спасибо.
Отвечая на этот вопрос из-за удара сообщества ...
Auditd поддерживает принудительное вращение через service auditd rotate
команда. Вы можете объединить это с cron, чтобы запускать его по времени. (Ежедневно, ежечасно, каждый вторник в 10:00 и т. Д.)
Пример включен в RPM по адресу / usr / share / doc / audit-$ версия/auditd.cron.
Я считаю, что ваша команда kill на самом деле не может убить процесс. Попробуйте следующее:
/var/log/audit/audit.log {
daily
dateext
rotate 180
postrotate
$(/bin/kill `cat /var/run/auditd.pid 2> /dev/null`)
service auditd restart
endscript
}