Tudo bem, então, depois de continuar lutando com isso, finalmente encontrei uma solução que funciona para mim.
Aqui está o que eu fiz:
Digamos que eu tenha criado um novo usuário chamado dummy
com sua pasta pessoal localizada em /home/dummy
e uma pasta dedicada à sua apresentação na Web localizada em /home/dummy/www
.
- Use
sudo chgrp -R www-data /home/dummy/www
para alterar o grupo do diretóriowww
e todo o conteúdo parawww-data
(o usuário padrão do Apache para acesso à Web.) - Use
sudo chmod -R g+wrxs /home/dummy/www
para conceder ao grupowww-data
permissão de gravação, leitura e execução para o diretório especificado e seu conteúdo. A coisa importante aqui é a partes
. Isso garante que o grupo (www-data
) assuma a propriedade sobre qualquer arquivo criado dentro do diretório com o parâmetro s.
Não é necessário adicionar o usuário dummy
a nenhum grupo.
Espero que isso ajude se alguém encontrar o mesmo problema que eu no futuro.
EDIT: Após alguns testes adicionais, isso por si só parece não ser suficiente. Além das duas etapas mencionadas acima, você também precisa explicitamente dizer ao wordpress como trabalhar com arquivos adicionando define('FS_METHOD', 'direct');
ao arquivo de configuração wordpress.
Além disso, para uma configuração de permissão mais rigorosa, consulte a Etapa 5 do DigitalOcean Como instalar o WordPress com LAMP no Ubuntu guia.