403 Proibido em arquivo colocado em / var / www / html ao tentar baixar?

4

Estou tentando copiar um arquivo do meu servidor para o meu computador desktop. Coloquei em /var/www/html (onde estão as páginas da web) e quando tento fazer o download, recebo 403 Forbidden . Eu até tentei chmod 777 no arquivo e não consertei.

O que estou fazendo errado e por que estou recebendo esse erro?

    
por BigOmega 09.05.2012 / 19:34

3 respostas

9

Você precisa modificar o arquivo para que seja de propriedade do usuário do Apache. Por padrão, o Apache será executado como o usuário www-data (encontrado no grupo www-data ). Você pode usar chown para modificar o proprietário do arquivo (pode ser usado com sudo ):

chown -R www-data:www-data /var/www/html

Finalmente, você precisa garantir que os arquivos tenham menos permissões de leitura e execução para o usuário do Apache. Você já fez isso, como você disse, mas depois de modificar todas as permissões / proprietários de arquivos, você deve garantir que tudo corra bem executando ls -l /var/www/html . Como medida de segurança, convém remover todas as permissões de outros usuários:

chmod -R 0550 /var/www/html

Observe que, se você usar PHP ou outra linguagem de script que requer acesso de gravação, talvez seja necessário modificar a máscara de permissão acima para 0770 . Como precaução, use somente essa máscara nos diretórios quando necessário (por exemplo, para gravar dados de cache do site ou fazer o upload de arquivos)

    
por 09.05.2012 / 20:04
4

Estou usando o Apache do CentOS 7 +, o único comando que resolveu meu problema é (porque eu tentei chown + chmod antes):

sudo setenforce 0 #disable SELinux

E então, eu posso baixar o arquivo (no meu caso, anyfile.zip), mas ele pode abrir as portas para os invasores escreverem e executarem o código.

    
por 29.01.2016 / 07:06
0

Você provavelmente tem o SELinux ativado. O caminho mais simples para o propósito atual é colocar o arquivo em questão no ID do usuário que o Apache está executando como.

    
por 09.05.2012 / 19:51