Contextos SELinux com compartilhamentos NFS

6

Estou tentando configurar um compartilhamento NFS entre dois servidores CentOS (filesrv & websrv) para uma pasta que precisa ser legível & gravável pelo processo Apache. Estou tendo problemas com o lado gravável disso, que reduzi à configuração do SELinux: o Apache pode gravar no compartilhamento se eu setenforce 0 no cliente NFS.

A linha relevante no arquivo de exportação para o servidor NFS é:

/data/files/sitefiles websrv(rw,sync,no_root_squash)


O contexto do SELinux para a pasta compartilhada no servidor NFS é:

system_u:object_r:httpd_sys_rw_content_t:s0


A entrada no meu fstab no cliente NFS é:

filesrv:/data/files/sitefiles /var/www/html/webroot/files nfs context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0


Tanto quanto eu posso dizer, isso deve montar o compartilhamento NFS com o contexto httpd_sys_rw_content_t , mas quando eu verificá-lo, é realmente:

system_u:object_r:httpd_sys_content_t:s0


O que poderia estar causando a aplicação do contexto mais restrito ao compartilhamento?

    
por lyserge 13.11.2013 / 11:36

2 respostas

5

A solução simples deve ser usar o SELinux booleano httpd_use_nfs para permitir que seu servidor da Web exiba e grave conteúdo armazenado em um compartilhamento NFS:

setsebool -P httpd_use_nfs=1 
    
por 13.11.2013 / 12:40
2

Esse problema estava ocorrendo porque eu estava montando vários compartilhamentos NFS do mesmo servidor, e nem todos tinham o mesmo contexto.

De acordo com o Documentação do RedHat em várias montagens do NFS , eu precisava adicionar nosharecache à minha linha fstab para as montagens. O contexto correto do SELinux é então aplicado em uma base de montagem por montagem.

A linha de trabalho no meu fstab é a seguinte:

filesrv:/data/files/sitefiles /var/www/html/webroot/files nfs nosharecache,context="system_u:object_r:httpd_sys_rw_content_t:s0" 0 0
    
por 14.11.2013 / 10:28