Estas configurações servem para os serviços Apache e Nginx.
O SELinux possui 3 tipos de contexto para o SELinux:
Para mudar o contexto para somente leitura no HTTP utilizamos este comando:
# chcon -R -t httpd_sys_content_t [diretório] # semanage fcontext -a -t httpd_sys_content_t "[diretório]/(/.*)?"
Para mudar o contexto para leitura e escrita no HTTP utilizamos este comando:
# chcon -R -t httpd_sys_rw_content_t [diretório] # semanage fcontext -a -t httpd_sys_rw_content_t "[diretório]/(/.*)?"
Para mudar o contexto do usuário para um diretório recursivamente:
# chcon -R -u system_u [diretório]
Obs.: O comando semanage fcontext
garante o contexto do diretório mesmo após um restorecon
Obs2.: Note que no comando semanage fcontext
é utilizado uma expressão regular contendo a string do caminho do diretório para garantir que os arquivos dentro daquele diretório também adquiram o mesmo contexto. Procure utilizar o caminho absoluto ao invés do caminho relativo.
# setsebool -P httpd_use_nfs on
Talvez seja necessário montar o compartilhamento NFS com um certo contexto. Para isso basta colocar o contexto (context
) desejado nas opções de montagem do /etc/fstab
como mostrado na linha abaixo:
10.199.X.Y:/MEU_FS /meu/path nfs4 rw,soft,intr,rsize=8192,wsize=8192,nosuid,noexec,context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0
# setsebool -P httpd_can_sendmail on
# setsebool -P httpd_can_network_connect_db on
# getsebool -a | grep [nome do serviço]
Exemplo:
# getsebool -a | grep httpd
# setsebool [definição da permissão listada com o getsebool -a | grep] 1
# setsebool [definição da permissão listada com o getsebool -a | grep] 0