Primeiro, useradd
cria um novo usuário. Como você (iain) já existe, você quer chamar usermod
. Então isso seria:
sudo usermod -aG www-data iain
addgroup www-data
(observe o -a
nos servidores baseados em Debian (incluindo o Ubuntu) que irá adicionar você a esse grupo e manter sua associação a outros grupos. Esqueça isso e você pertencerá ao grupo www-data somente - pode ser uma experiência ruim se um deles foi roda Em servidores do tipo SUSE a opção é -A
em vez de -aG
então leia man usermod
cuidadosamente para acertar.)
Em segundo lugar, você não quer que o apache tenha acesso rw completo a /var/www
: isso é potencialmente uma grande falha de segurança. Como regra geral, permita somente o que você precisa, e nada mais ( princípio do menor privilégio ). Neste caso, você precisa do apache ( www-data
) e de você ( www-data
group) para escrever (e ler) em /var/www/example.com/public_html
, então
sudo chown -R www-data:www-data /var/www/example.com/public_html
sudo chmod -R 770 /var/www/example.com/public_html
Editar : para responder sua pergunta original, sim, qualquer membro de www-data
agora pode ler e executar /var/www
(porque o último bit de suas permissões é 5 = ler + exec). Mas como você não usou a opção -R
, isso se aplica somente a /var/www
, e não aos arquivos e subdiretórios contidos nela. Agora, se eles podem escrever é outra questão e depende do grupo de /var/www
, que você não definiu. Eu acho que é tipicamente root:root
, então não, eles (provavelmente) não podem escrever.
Editar em 2014-06-22 : adicionou uma observação de que a opção -aG
é válida em servidores baseados no Debian. Ele aparentemente varia com a distribuição, então leia man
cuidadosamente antes de executar.