Как я могу сделать SELinux разрешить доступ к файлу?
У меня есть проприетарное программное обеспечение, которым владеет моя компания, которому нужен доступ к файлу корневого уровня. Мы назовем это /secfile как это связано с безопасностью / лицензией. Система запускает демон, который записывает обновленную информацию в /secfile, Этот демон, если он не обновляется /secfile, делает недействительной лицензию, потому что она предполагает нечестную игру.
Как заставить SELinux разрешить запуск демона, который находится в /bin/secdaemon, доступ к /secfile?
Единственное другое приложение, которому нужен доступ (который в настоящее время не ограничен) к /secfile является /usr/bin/licensemanager,
1 ответ
Ну, самый простой способ - отключить SELinux, но я не рекомендую:
setenforce 0
Или вы можете создать правило, позволяющее ему писать, выполнять или делать то, что ему нужно, и пока оно заблокировано. Для этого проверьте файл системного журнала и скопируйте строку, которая "запрещена", она должна выглядеть примерно так:
audit(...): avc: denied { write } for pid=27984 comm="httpd" name="httpd" dev=sda6 ino=307469 scontext=root:system_r:httpd_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=...
Скопируйте его и выполните следующую команду:
audit2allow -M local << _EOF_
(paste the content)
_EOF_
Затем запустите:
semodule -i local.pp
Это создаст для него постоянное правило, поэтому вам не нужно отключать SELinux.