Мой модуль Apache запускает вспомогательный подпроцесс, который, например, но не ограничивается, следующими вещами:
- Он устанавливает сокет для связис Apache.
- Читает и записывает файлы во временную папку, которая удаляется при выходе из Apache.Эти файлы используются, например, для хранения больших объемов данных, полученных по сети, в случае, если данные не помещаются в ОЗУ удобным образом.
- Он порождает указанные пользователем исполняемые файлы.Похож на CGI.Каждый из этих порождаемых процессов запускается как отдельный выделенный пользователь.
Вспомогательный подпроцесс запускается от имени пользователя root, так что он может управлять владельцами файлов и разрешениями и может порождать больше процессов как конкретных пользователей.
Некоторые пользователи моего модуля работают в системах с установленным SELinux, например, в дистрибутивах на основе RedHat.SELinux обычно мешает моему модулю.До сих пор я говорил людям отключить SELinux для всей системы, потому что я не могу понять, как написать правильную политику для моего программного обеспечения.Документация очень разбросана, сложна и обычно предназначена только для системных администраторов, а не для разработчиков программного обеспечения.
В качестве шага в правильном направлении я хочу реализовать минимальную поддержку SELinux.Я ищу способ запуска моего вспомогательного подпроцесса без каких-либо ограничений SELinux без отключения общесистемного SELinux.Есть ли способ сделать это, и если да, то как?