Я хочу, чтобы SELinux разрешил демону LogRotate вращать и сжимать журналы аудита в /var/log/audit/audit.log, но он блокируется отображением этого сообщения об ошибке:
Oct 27 04:06:03 setroubleshoot: SELinux is preventing /usr/sbin/logrotate "read" access on /var/log/audit.
Контекст каталога / var / log / audit:
drwxr-x---. root root system_u:object_r:auditd_log_t:s0 audit
Есть ли контекст, в котором я могу указать файл или каталог, который заставит SELinux вести себя так, как если бы он был выключен? Я купаюсь в документации и не собираюсь изучать эту вещь в одночасье, поэтому я бы хотел поработать, пока не смогу сделать это правильно. Приветствуются любые толчки в правильном направлении.
редактировать: Я также обнаружил, что вся документация, с которой я сталкиваюсь, не соответствует тому, что на самом деле существует на моем сервере CentOS 6 (т.е. расположение файлов и конфигурации). У кого-нибудь еще была эта проблема и нет хорошего источника "правильной" информации?
Редактировать 2- Я беру это обратно, у них есть инструкции по построению политик в другом разделе. http://www.centos.org/docs/5/html/Deployment_Guide-en-US/sec-sel-building-policy-module.html
ОКОНЧАТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: Итак, моей конечной целью было попытаться получить ежедневную ротацию журналов аудита, потому что мне ежедневно рассылается электронное письмо с любыми новыми предупреждениями SELinux, но я продолжал получать те же сообщения. Поэтому я попытался создать новое правило logrotate для ведения этих журналов, но SELinux блокировал его. Оказывается, у auditd есть встроенная функция поворота, которую можно вызвать, запустив /sbin/service auditd rotate
который вращает бревна. Я могу просто установить это в ежедневной работе cron. Я все еще думаю, что вопрос о SELinux имеет значение, поэтому, если кто-то захочет на него ответить, он может помочь будущим гуглерам.
Попробуй это:
semanage fcontext -a -t var_log_t '/var/log/audit(/.*)?'
restorecon -R -v /var/log/audit
Есть где-нибудь список доступных типов?
# seinfo -t | less
Как вы узнали, что использовать тип var_log_t?
https://bugzilla.redhat.com/show_bug.cgi?id=682473
# semanage fcontext -l | grep '/var/log'