Minha recomendação seria manter a propriedade dos arquivos em /home/dev/(www|docs)
definido como DEV:DEV
e permitir que o usuário APACHE
grave nas pastas necessárias por meio de uma permissão de grupo.
Dessa forma, as pastas para as quais o APACHE
precisa gravar terão permissões definidas como rwxrwxr-x
, enquanto as pastas das quais ele precisa somente ler podem ter permissões definidas como rwxr-xr-x
.
Há uma coisa extra a considerar neste cenário. Todos os arquivos / pastas criados pelo usuário APACHE
serão de propriedade de APACHE:APACHE
(supondo que o grupo padrão para APACHE
user seja APACHE
). Por causa disso, talvez você não consiga gravar nesses arquivos / pastas com o usuário DEV
, dependendo de qual umask
está definido para APACHE
user.
Para corrigir esse inconveniente, você pode definir o bit SGID na pasta para qual APACHE
irá gravar. No seu caso:
chmod g+s /home/dev/docs
e defina o umask
apropriado para APACHE
user:
umask 0002
Dessa forma, todos os arquivos / pastas em /home/dev/docs
criados por APACHE
user terão o proprietário definido como APACHE:DEV
e as permissões definidas como rwxrwxr-x
para pastas e rw-rw-r--
para arquivos.
Observe que, embora seja uma solução aceitável para o ambiente de desenvolvimento, no servidor de produção, talvez você não queira que APACHE
user tenha umask
definido como 0002
.