При настройке nginx на Red Hat Enterprice Linux столкнулся с ошибкой:
Failed to start nginx.service: Unit nginx.service not found.
Система нам заявляет о том, что файл юнита не найден, однако он есть и его можно прочитать. Я перепробовал все способы, но ничего не помогало. Потом обратил внимание на поле "Контекст безопасности". У файла
nginx.service
он был "unconfined_u:object_r:user_home_t:s0", в то время как у остальных: "system_u:object_r:systemd_unit_file_t:s0". Чисто ради сапёрского интереса решил сменить контекст безопасности у юнита для nginx. Удивительно, но это помогло и теперь всё работает как положено. Ни в одном другом дистрибутиве я не встречался с таким поведением.
Что такое контекст безопасности и зачем он нужен? Как это работает?