4.2. Ajustando a política de compartilhamento de volumes NFS e CIFS usando booleans SELinux
Você pode mudar partes da política SELinux em tempo de execução utilizando booleans, mesmo sem qualquer conhecimento da política da SELinux. Isto permite mudanças, tais como permitir o acesso de serviços a volumes NFS, sem recarregar ou recompilar a política SELinux. O procedimento seguinte demonstra a listagem de booleans SELinux e sua configuração para alcançar as mudanças necessárias na política.
As montagens NFS no lado do cliente são etiquetadas com um contexto padrão definido por uma política para volumes NFS. Na RHEL, este contexto padrão usa o tipo nfs_t
. Além disso, as montagens de Samba no lado do cliente são etiquetadas com um contexto padrão definido pela política. Este contexto padrão usa o tipo cifs_t
. Você pode habilitar ou desabilitar booleans para controlar quais serviços estão autorizados a acessar os tipos nfs_t
e cifs_t
.
Para permitir que o serviço servidor HTTP Apache (httpd
) acesse e compartilhe volumes NFS e CIFS, execute os seguintes passos:
Pré-requisitos
-
Opcionalmente, instale o pacote
selinux-policy-devel
para obter descrições mais claras e detalhadas das booleanas SELinux na saída do comandosemanage boolean -l
.
Procedimento
Identificar as booleanas SELinux relevantes para NFS, CIFS, e Apache:
# semanage boolean -l | grep 'nfs\|cifs' | grep httpd httpd_use_cifs (off , off) Allow httpd to access cifs file systems httpd_use_nfs (off , off) Allow httpd to access nfs file systems
Liste o estado atual das booleanas:
$ getsebool -a | grep 'nfs\|cifs' | grep httpd httpd_use_cifs --> off httpd_use_nfs --> off
Habilitar as booleanas identificadas:
# setsebool httpd_use_nfs on # setsebool httpd_use_cifs on
NotaUse
setsebool
com a opção-P
para fazer com que as mudanças sejam persistentes em todas as reinicializações. Um comandosetsebool -P
requer uma reconstrução de toda a política, e pode levar algum tempo, dependendo de sua configuração.
Etapas de verificação
Verifique se as booleans estão em
on
:$ getsebool -a | grep 'nfs\|cifs' | grep httpd httpd_use_cifs --> on httpd_use_nfs --> on
Recursos adicionais
-
As páginas
semanage-boolean(8)
,sepolicy-booleans(8)
,getsebool(8)
,setsebool(8)
,booleans(5)
, ebooleans(8)
man pages.