O CentOS (e outros derivados do Fedora / RHEL) permite um mecanismo de segurança adicional conhecido como SELinux. Aplica restrições adicionais na maioria dos daemons do sistema. Essas restrições adicionais são verificadas após as permissões normais do Unix.
Para configurações não padrão, você geralmente precisa ajustar o SELinux. Os arquivos contêm um rótulo de segurança específico, que é usado pelo SELinux para aplicar a política de segurança. Se o seu problema ocorrer apenas com alguns arquivos, você precisará corrigir os rótulos do SELinux nos arquivos problemáticos. Use chcon
com a opção --reference=
para copiar o rótulo de um arquivo que funcione para aplicar o mesmo rótulo seu (s) arquivo (s) problemático (s):
chcon --reference=<path to working file> <path to not working file(s)>
Se os seus arquivos estiverem em um local fora do padrão, você deverá adicionar uma regra no banco de dados de rotulagem de arquivos. Isso evita problemas na próxima vez que o sistema de arquivos é remarcado ou restorecon
é usado. Escolha o rótulo adequadamente ou use o rótulo já aplicado (verifique os rótulos de segurança existentes com ls -lZ
).
Adicionando uma regra de rotulagem para /path/to/directory
e seu conteúdo usando semanage
:
semanage fcontext -a -t httpd_user_rw_content_t '/path/to/directory(/.*)?'
Se seus arquivos estiverem em um sistema de arquivos diferente, você pode usar context
option para que o ponto de montagem aplique / sobrescreva a rotulagem padrão.