SELinux не позволяет cron прикрепить файл журнала к электронному письму со следующей ошибкой:
уведомление ядра [7148.923034] type = 1400 audit (1359466501.857: 5): avc: denied {read} for pid = 3182 comm = "mailx" name = "attachment" dev = "dm-1" ino = 4140 scontext = system_u: system_r : system_mail_t: s0-s0: c0.c1023 tcontext = system_u: object_r: var_log_t: s0 tclass = file
Сценарий bash запускается cron каждый час для отправки файла журнала по электронной почте, если он не пуст. Скрипт содержит следующую строку:
echo "" | mailx -s "Critical Message" -a /var/log/attachment test@email.com
Я думаю, проблема связана с контекстом безопасности файлов. Я где-то читал, что установка контекста на общедоступный контент может помочь, но не уверен, хорошая ли это идея или есть лучший подход.
У вас есть три варианта (ну, три, о которых я могу думать прямо сейчас):
1. Отправьте сообщение об ошибке и дождитесь обновления пакета политик, в котором это разрешено.
2. Измените контекст файла, который вы пытаетесь прикрепить, чтобы SELinux позволял ему прикрепиться.
3. Переведите SElinux в разрешающий режим, чтобы он регистрировал тот факт, что он хочет отклонить это действие, но на самом деле это не предотвратило бы его выполнение.
У каждого варианта есть недостатки, некоторые из которых, возможно, существенны, поэтому выбранный вами маршрут будет сильно зависеть от вашей среды.