Como posso fazer o SELinux permitir acesso a um arquivo?

0

Eu possuo um software proprietário que minha empresa possui e que precisa de acesso a um arquivo de nível raiz. Vamos chamá-lo de /secfile , pois é relacionado a segurança / licença. O sistema executa um daemon que grava informações atualizadas em /secfile . Esse daemon, se for impedido de atualizar /secfile , invalida a licença em questão, porque supõe jogo sujo.

Como posso forçar o SELinux a permitir que o daemon, que reside em /bin/secdaemon , acesse /secfile ?

O único outro aplicativo que precisa de acesso (que atualmente não está restrito) a /secfile é /usr/bin/licensemanager .

    
por UtahJarhead 19.10.2015 / 19:35

1 resposta

2

Bem, a maneira mais fácil é desabilitar o SELinux, o que eu não recomendo:

setenforce 0

Ou você pode criar uma regra para permitir que ela seja gravada, executada ou o que for necessário e esteja bloqueada até o momento. Para fazer isso, verifique o arquivo de log do sistema e copie a linha que é "negada", deve ser algo assim:

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=...

Copie e execute o seguinte comando:

audit2allow -M local << _EOF_
(paste the content)
_EOF_

Em seguida, execute:

semodule -i local.pp

Isso criará uma regra permanente para que você não precise desativar o SELinux.

    
por 19.10.2015 / 19:48

Tags