Когда cron
запускает logrotate
, SELinux ограничивает его logrotate _t "type". Этот «тип» не может модифицировать другие типы файлов (, также известный как «выход из заключения» ).
Когда вы запускаете logrotate, вы (скорее всего )начинаете с "неограниченного" типа, что означает то, что он говорит --процессу logrotate
разрешено изменять файлы. Вы также можете захотеть, чтобы logrotate
перезапускал или сигнализировал процессам (через постротацию, например ); эта активность также может быть ограничена SELinux.
Мое предложение состоит в том, чтобы сообщить SELinux («разрешить» )типу logrotate _t выйти из ограничения с помощью:
semanage permissive -a logrotate_t
Это умеренное решение, в -между отключением SELinux и точной -настройкой политики, позволяющей точно выполнять побеги из заключения, которые вам нужны (, возможно, с пользовательской маркировкой ). Чтобы отменить это изменение, используйте semanage permissive -d logrotate_t
.
Лучший способ смоделировать процесс, -инициируемый cron, — поместить задания в cron. Кроме того, я знаю о runcon
, хотя я не смог успешно его использовать.