403 Proibido em arquivos com nomes diferentes, mas com conteúdo e permissões idênticos [duplicado]

1

Estou executando o CentOS 6.3 e o Apache 2.2.15.

Estou usando a configuração de padrões do apache. Os arquivos que estou servindo estão em

/var/www/html

Aqui estão dois deles

[root@gisele html]# ls -l *-production-1.0.6.pdf 
-r--r--r--. 1 root root 171769 Jan  1 21:12 copy-installation-production-1.0.6.pdf
-r--r--r--. 1 root root 171769 Jan  1 20:59 installation-production-1.0.6.pdf

O arquivo de cópia é um arquivo criado ao fazer

cp installation-production-1.0.6.pdf copy-installation-production-1.0.6.pdf

Por meio de um mapeamento de host virtual, estou acessando esses documentos.

copy-installation-production-1.0.6.pdf será veiculado. installation-production-1.0.6.pdf retorna um 403 proibido.

A única diferença é que o arquivo original foi copiado para o servidor de outra máquina.

Alguma idéia de por que este arquivo original não será veiculado, mas a cópia será?

    
por Will 02.01.2014 / 03:25

2 respostas

3

Bem, desabilitar o SELinux é apenas uma solução temporária, não uma solução. Nós não queremos fazer Dan Walsh chorar ;)

Experimente uma destas opções:

chcon --reference=/var/www/html/FileThatCanBeServed /var/www/html/FileWithError403

ou

chcon -R --reference=/var/www/html /var/www/html/

ou

chcon -R -t httpd_sys_content_t /var/www/html/

Sempre verifique o contexto do SELinux dos arquivos que podem ser acessados com ls -lZ , depois use chcon com a opção --reference para copiar o contexto para outros arquivos.

    
por 02.01.2014 / 03:39
2

Gah, SELinux. Mesmo probalem como esta pergunta: Apache serve alguns arquivos, outros recebem 403

Desative o SELinux como a solução.

link

Deve haver um prompt na instalação do CentOS

Is this machine primarily a 
Server (1) / Desktop (2)
1/2...? 1

Would you like to run into bizarre errors later on?
Y/N...? y

Installing SELinux.
    
por 02.01.2014 / 03:32