Permissões em diretórios do Apache no CentOS

Publicado por Xerxes em 14/06/2017

[ Hits: 14.690 ]

 


Permissões em diretórios do Apache no CentOS



Dica testada no CentOS 6.9.

Compartilho uma experiência aqui que pode ajudar usuários com o mesmo problema. Num servidor CentOS há o diretório "/var/www/html". Arquivos HTML colocados dentro podem ser lidos normalmente. Mas o meu objetivo era criar um diretório chamado "arquivos" para disponibilizar arquivos PDF e outro chamado "conversor" que iria receber arquivos PDF para executar um script (que não é objeto desta dica).

Em resumo:
  • /var/www/html/arquivos --> disponibilizar PDF
  • /var/www/html/conversor --> receber PDF e executar um script

Mas as permissões precisavam ser configuradas, pois caso contrário o acesso à leitura de PDF seria proibida e o armazenamento de PDF também.

Após googlar bastante me deparei com uma linda informação que dizia:

Surprise! SELinux is here!
"You guys choose CentOS, so you got SELinux as well."
Ou seja, não importava o que fosse feito com relação às permissões, sem configurar o SELinux seria impossível.

Em resumo a solução foi a seguinte:

# chown apache:apache -R /var/www/html/arquivos
# cd /var/www/html/arquivos
# find . -type f -exec chmod 0644 {} \;
# find . -type d -exec chmod 0755 {} \;
# chcon -t httpd_sys_content_t /var/www/html/arquivos -R


E repetir tudo novamente só que para o diretório "conversor". Adicionando este comando para permitir a escrita:

# chcon -t httpd_sys_rw_content_t /var/www/html/conversor -R

Após isso, tudo funcionou como esperado. Pois os arquivos puderam ser lidos e o conversor que faz upload de arquivos PDF pode funcionar.

Segue a fonte que me ajudou: CentOS 7 + SELinux + PHP + Apache – cannot write/access file no matter what | Lysender's Daily Log Book

Outras dicas deste autor

Baixando torrent sem usar programas externos

Fazendo uma imagem colorida ficar em preto e branco

CPU-X: Uma Alternativa ao CPU-Z para Linux

Personalizando seu próprio prompt de comando

Alterando o prompt do terminal (bash) no Slackware 12.1

Leitura recomendada

Restringindo acesso do "root" ao SSH

Bloqueie o acesso à sua máquina

Executar shutdown com usuário comum - Debian 9

Logout automático do root

Instalação do Librewolf no Ubuntu/Mint (e em outras distros)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts