Para conceder ao usuário mywebsite permissão de leitura / gravação em /var/www/html/mywebsite :
chown -R mywebsite /var/www/html/mywebsite
Isso deve ser suficiente. Você não deve ter que alterar o proprietário ou as permissões do grupo, porque o proprietário do usuário deve receber permissões de leitura / gravação já.
Se você quisesse conceder uma permissão de leitura / gravação em grupo dentro dessa pasta, digamos, grupo my-group , você precisaria:
chgrp -R my-group /var/www/html/mywebsite
chmod -R g+w /var/www/html/mywebsite
Notas importantes
-
Não defina a propriedade (usuário ou grupo) dos arquivos em
/var/wwwpara o usuáriowww-data. O ponto de ter o servidor da Web executado como o usuáriowww-dataé que essa é uma conta sem privilégios , incapaz de modificar os arquivos. Se você definir alguns arquivos para pertencer a esse usuário, estará negando essa medida de segurança. Se você precisar que o seu servidor web possa modificar certos arquivos, apenas defina a propriedade para esses arquivos em particular e seja muito cuidadoso para não permitir a execução direta (ex. Via PHP) deles. Em geral, nunca configure para quewww-datapossa modificar arquivos. -
Ao fazer um
chmodrecursivo, geralmente é melhor usar letras do que números, por exemplo,chmod -R g+w somethingem vez dechmod -R 770 something. Isso ocorre porque o primeiro é capaz de modificar apenas a permissão desejada e deixar os outros. Por padrão, os diretórios e arquivos terão permissões de "execução" diferentes - os arquivos desativados (por exemplo, 644) e os diretórios ativados (por exemplo, 755), porque essas permissões têm um significado diferente para os diretórios. Se você fizerchmod -R 770 something, os arquivos regulares terão permissões de execução ativadas. Em geral, é uma boa ideia modificar apenas o que você precisa.Outra coisa a notar é que
770removeria a permissão legível para o mundo, o que impedirá que o servidor da Web (que é executado como um usuário sem privilégios) possa lê-lo. Nesse caso, também está impedindo que o usuáriomywebsiteconsiga ver o diretório/var/www/html/mywebsite, porque você configurou o diretório pai/var/www/htmlpara 770.