Как я могу сделать 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.