Você deseja adicionar esses usuários ao grupo de dados www primeiro. Então o método pretendido é usar chmod g+s /home/user/vhost
. Isso definirá o SGID
nessa pasta, o que significa que o grupo será usado para novos arquivos. Infelizmente, isso não ajuda nos subdiretórios. Para mantê-los atualizados, é necessário executá-los regularmente após as modificações na árvore de diretórios: find /home/user/vhost -type d -exec chmod g+s {} \;
. Isso irá procurar por todos os subdiretórios e habilitar o SGID
. A parte mais irritante é que isso precisa ser feito para qualquer dirs pai antes de adicionar filhos, o que significa que às vezes você precisa executar isso várias vezes ao fazer mudanças e se você esquecer de fazer isso, então você precisa apenas fazer o comando chown mesmo assim: find /home/user/vhost -type d -exec chown user:www-data {} \;
.
Isso é o que eu digo para fazer, mas acho que todo esse plano é chato para mim. Na realidade, o que faço é trabalhar em um servidor de desenvolvimento com permissões completamente não relacionadas. Depois de fazer as alterações, tenho um script que sincroniza com o servidor prod e define todas as propriedades e permissões todas as vezes para garantir que tudo esteja ALTERIENTEMENTE correto. Esse método economiza muito tempo, porque nunca preciso me preocupar com o fato de as permissões serem executadas. Acabei de executar o script e tudo está magicamente funcionando novamente.