/ var / www proprietário para acesso ao apache2 e ftp

3

Eu tenho o apache2 rodando no Ubuntu Server 12.04 LTS em um laptop antigo. Está na minha rede local para funcionar como um servidor web para me ajudar a aprender PHP (e linux).

O proprietário padrão da pasta / var / www (onde as páginas da web do apache estão armazenadas) é www-data. Com o proprietário configurado para www-data, não consigo copiar arquivos / pastas para essa pasta no ftp. Se eu mudar o dono da pasta / var / www para james (meu usuário ftp), então eu posso mover os arquivos pelo ftp, mas o apache não tem acesso para exibir quaisquer páginas ou subpastas.

Qual deve ser o dono correto para permitir o acesso do usuário do james do ftp e do apache?

    
por Erresen 16.08.2013 / 19:56

2 respostas

1

Eu recomendaria configurá-lo para ser de propriedade de james:james .

Como alternativa, você pode deixar como root:root e requite sudo para qualquer um que implemente arquivos lá, mas se você estiver trabalhando diretamente no diretório / var / www (em vez de trabalhar em outro lugar e enviar os arquivos para lá) isso pode não ser conveniente, e não funcionará com o FTP.

Você pode definir o proprietário de / var / www como desejar, contanto que o usuário www-data tenha acesso de leitura. Você pode conseguir isso configurando permissões para permitir acesso de leitura universal (como é o padrão).

Por padrão, é de propriedade de root:root ( não www-data como você afirma na pergunta).

  • Por segurança, não é uma boa ideia configurá-lo para ser de propriedade de www-data . www-data é uma conta sem privilégios que não pode gravar em nenhum arquivo, e só pode lê-los.

    Sim, ocasionalmente, talvez seja necessário conceder a www-data a permissão para gravar em um determinado arquivo, mas para segurança isso deve ser estritamente limitado a esses arquivos específicos e precauções devem ser tomadas, como garantir que nenhum desses arquivos seja executável como scripts pelo servidor web (ou seja, eles não estão em um local onde possam ser interpretados como arquivos PHP ou CGI), etc.

  • Por segurança, é uma idéia ainda pior para definir as permissões de arquivo para o mundo gravável (por exemplo, 777). Usuários não privilegiados como www-data devem não conseguir gravar em arquivos nesse diretório. As únicas pessoas que precisam de acesso de gravação serão as pessoas que realmente estão escrevendo arquivos lá.

  • O diretório / var / www deve ser seu para fazer com o que você gosta. Faz sentido definir a propriedade para qualquer conta que esteja editando os arquivos. Você pode criar um grupo para essa finalidade se tiver várias pessoas, mas nesse caso é só você.

    Nota: se criar um grupo, crie um novo grupo. Não não reutilize o grupo www-data , pois ele pretende ser um grupo sem privilégios, sem acesso de gravação a nenhum arquivo (como explico acima).

Muitas vezes, eu vejo pessoas recomendando a adoção de práticas de segurança muito ruins como a configuração de / var / www para ser de www-data ou adicionar pessoas ao grupo www-data para dar isso privilégios de edição de grupo, ou configuração de / var / www para ser gravável pelo mundo (por exemplo, 777). Ao fazer isso, você está potencialmente se abrindo para problemas de segurança significativos.

    
por thomasrutter 02.10.2014 / 08:24
0

A permissão ideal é tornar-se o proprietário e o www-data no grupo, configurando-se como o proprietário dos arquivos por sudo chown -R yourname:www-data /var/www/public_html/ e sudo chmod -R g+w /var/www/public_html/ para garantir que você altere o diretório e o nome de usuário adequadamente. Você poderá escrever arquivos e os processos do apache não serão prejudicados. Eu estou sugerindo isso como o OP está executando uma instância local do APACHE para fins de prática e estará usando muitos scripts ou scripts de código aberto, como wordpress, etc, que exigirão acesso de gravação. Aqui a segurança não é uma preocupação primordial, pois o servidor local não estará usando um ip público e a facilidade de instalação, cópia e execução de scripts é de primordial importância. O OP pode se concentrar em aprender PHP ao invés de administrar o servidor.

    
por Ads 14.09.2015 / 06:41