Fedora 16: “Permissão negada: permissões de arquivo negam acesso ao servidor”

6

Estou trabalhando com uma nova instalação do Fedora 16 e estou tentando colocar o Apache em funcionamento. Estou muito familiarizado com o Linux e um pouco com o CentOS, mas tenho pouca experiência com o Fedora e o SELinux (seja lá o que for).

Primeiro, depois de instalar o Apache, não consegui ver o exemplo da página da Web. Fiz algumas buscas e finalmente consertei esse problema editando o iptables.

sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables-save

Eu fui em frente e comecei a colocar alguns arquivos na raiz da web, certificando-me de que as permissões foram definidas corretamente.

$ ls -Rlhp /var/www/html/
/var/www/html/:
total 8.0K
drwxr-xr-x. 2 apache root 4.0K Apr 20 22:47 files/

/var/www/html/files:
total 25M
-rw-r--r--. 1 apache users 25M Apr 20 22:47 SRR022918.errors.tar.gz

Mas quando eu naveguei para a URL correspondente ( my.server.edu/files/SRR022918.errors.tar.gz ), recebi um erro 403 Permission denied. Eu verifiquei o log de erro do Apache e encontrei esta mensagem.

[Fri Apr 20 23:09:55 2012] [error] [client xxx.xxx.xx.xx] (13)Permission denied: file permissions deny server access: /var/www/html/files/SRR022918.errors.tar.gz

Eu tentei configurar permissões de arquivos e diretórios para o 777, mas isso não resolveu o problema. Isso é realmente suspeito, então eu acho que isso tem algo a ver com o SELinux. Eu não tenho experiência com o SELinux, então estou no caminho certo? Se sim, como faço para corrigir isso?

    
por Daniel Standage 21.04.2012 / 05:22

2 respostas

10

Se a memória funcionar, você provavelmente precisará executar chcon -R -h -t httpd_sys_content_t /var/www/html

Isso recursivamente define seu diretório de conteúdo para o contexto apropriado para o Apache.

    
por 21.04.2012 / 05:30
6

Este problema de permissão de arquivo é, como você esperava, devido ao SELinux. É bastante complicado, mas o pessoal do CentOS criou um wiki muito bom para você ir . Em suma, você pode desativar o SELinux (totalmente ruim), configurá-lo para o modo permissivo (um pouco menos ruim) ou trabalhar com o SELinux. Como o wiki repassa os detalhes de uma maneira bastante sucinta, eu o mantenho DRY e deixo você ler o wiki.

Consertei o meu copiando os arquivos para / var / www / html e restaurando o contexto padrão para essa pasta usando:

restorecon -Rv /var/www/html
    
por 12.08.2012 / 04:31