permissões padrão para / var / www

36

Eu estava tentando abrir um arquivo e escrever nele com PHP na /var/wwwpasta, mas não estava funcionando, então eu fiz

sudo chmod 777 /var/www

agora eu quero definir as permissões para /var/wwwo padrão.
para que servem as permissões padrão /var/www?

Hossein Hosseinvand
fonte
Como não sou membro do serverfault, não pude comentar ou votar com resposta. Mas este post realmente unhas-lo: serverfault.com/questions/357108/...
Donato
Tente verificar o documento dentro da página da wiki: Propriedade e permissões de arquivos e diretórios para conteúdo da Web.
huckbit

Respostas:

29

As permissões nesta pasta são:

chmod 755 /var/www/

e os arquivos dentro da pasta são:

chmod 644 /var/www/file
caos
fonte
43

A permissão padrão por /var/wwwsi só é bastante padrão: owner root:roote mod 755.

Quanto a qualquer coisa dentro /var/www , esse é um dos diretórios raros em que você tem o privilégio de decidir por si mesmo o que colocar nele e quais permissões tudo o que deve conter. Mas o que faz mais sentido é:

  • A maioria dos arquivos deve ser gravável pelo usuário ou grupo que mais os gravar. Você pode configurá-los como pertencentes à sua conta de usuário. Ou configure um grupo personalizado para seus desenvolvedores. Ou, se os arquivos forem modificados raramente e você desejar uma boa segurança, poderá usar o root:rootsudo nas raras ocasiões em que serão modificados.

  • A maioria dos arquivos não deve ser gravável no mundo. Então, 644para arquivos, e 755para diretórios é apropriado (ou 664e 775se você quiser dar um acesso de escrita de grupo).

  • É não recomendado para definir qualquer uma que seja escrito pelo servidor web, ou seja www-data, exceto para arquivos de qualquer específica seus scripts web para ser capaz de gravar. Nesse caso, é melhor definir o usuário ou grupo desses arquivos www-datapara torná-los graváveis ​​em todo o mundo. Observe que sempre que o www-datausuário pode gravar em qualquer arquivo na raiz da web, seja definindo o usuário ou grupo nesses arquivos ou tornando-os editáveis ​​pelo mundo, é um possível problema de segurança. Gravável no mundo é o pior dos dois.

thomasrutter
fonte
2
Upvoted como a maioria resposta conclusiva aqui
Chris
2
Agora, esta é uma resposta muito boa. :)
Banago 11/01
para melhorar a resposta, considere adicionar comandos para definir os parmissions apropriadas
Abraham Murciano Benzadon
Existe uma função recursiva que pode alterar todas as pastas para 755 e arquivos para 644 dentro de var / www?
Matthew Semik
Yep: stackoverflow.com/questions/18817744/... (a segunda resposta é mais elegante do que a aceita IMO)
thomasrutter
9

Verifique se o grupo está com dados www em '/ var / www'.

sudo chgrp www-data /var/www

Torne gravável

sudo chmod 775 /var/www

definir o ID do grupo para subpastas

sudo chmod g+s /var/www

adicione seu nome de usuário ao grupo

sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]

dê a si mesmo propriedade

sudo chown [USERNAME] /var/www/
kamil
fonte
9
Isso é não as permissões padrão para / var / www, e é uma muito má ideia em termos de segurança para fazer todo o gravável raiz web pela www-data. Faça isso somente quando os scripts da web precisarem de acesso de gravação a arquivos específicos e, mesmo assim, somente a esses arquivos específicos, não a toda a raiz da web. E o OP não disse que precisava fazer isso, de qualquer maneira, então isso não deveria ser uma recomendação.
thomasrutter
3
Também é uma péssima idéia adicionar-se ao grupo www-data e tratá-lo dessa maneira. Onde você leu para fazer isso? É um conselho particularmente ruim, quase maliciosamente. Crie seus próprios grupos quando precisar dar acesso a algo a um grupo: não reutilize os grupos não privilegiados que se destinam ao uso interno pelos daemons.
thomasrutter
1
@neon_overload o que você recomenda
aWebDeveloper
1
Exatamente, o que você recomendaria @neon_overload?
Banago
1
@Banago personnaly Eu recomendo um +1 :)
kamil
-2
sudo adduser $USER www-data
sudo chown root:root /var/www


sudo chown -R $USER:www-data /var/www/*
sudo chmod -R 755 /var/www
parmod
fonte
4
Dependendo do conteúdo, pode ser prejudicial usar a -Rbandeira aqui. Como o OP não usou o -Rsinalizador, não devemos recomendar a correção das permissões erradas que eles criaram. A -Rbandeira raramente é útil!
Zanna 14/11