Problema com permissões

0

Eu sou novo no linux e quero hospedar um site no servidor dedicado, eu coloco os arquivos php no diretório "www" público junto com a pasta privada que deve ser acessada apenas pelo próprio servidor (quero dizer scripts php escrevendo e lendo arquivos na pasta). Eu li que o servidor Apache opera na conta "www-data", então eu configurei essa conta como proprietário da pasta com permissões 700, mas ainda posso acessar essa pasta do navegador da web em casa, até remover as permissões www-data. É normal que os visitantes do site usem a mesma conta que o servidor web? Se sim, como posso configurar as permissões corretamente para que somente o script PHP possa acessar os arquivos dentro do diretório?

Aqui está o arquivo de teste e suas permissões

5.39.78.24/prywatny/test.txt

-rwx------ 1 www-data www-data 4 sie  9 08:28 test.txt

Atenciosamente

    
por Sc00rpY 09.08.2016 / 11:58

1 resposta

0

Como o Apache usa o usuário www-data, qualquer coisa que possa ser acessada pelo www-data (e está no diretório raiz da web) pode ser acessada por qualquer pessoa que se conecte ao seu servidor com um navegador da web. Pense nisso como se os visitantes do seu site fossem o usuário www-data.

A maneira mais fácil de corrigir o problema que você está tendo é simplesmente mover os arquivos que você deseja que somente o PHP acesse fora do diretório raiz da web. Por exemplo, digamos que sua raiz da web seja "/ var / www /" e você queira colocar seus arquivos em "/ data". Coloque seu script PHP no diretório "/ var / www /" e acesse os arquivos no script usando nomes absolutos:

<?php
// Load the contents of the file at "/data/test.txt" into the $data variable.
$data = file_get_contents("/data/test.txt");
    
por Isaac 09.08.2016 / 14:02