O comportamento padrão (como você descobriu) é fornecer ao arquivo o mesmo UID e GID do proprietário. Se você quiser substituir isso, será necessário definir o setgid bit no diretório que armazena o arquivo. Isso não afetará arquivos e diretórios já existentes, portanto, você precisará corrigir as permissões em cada diretório abaixo também (como @cas mencionou, você provavelmente desejará permitir que os membros do grupo foo
modifiquem os outros) trabalhe (e veja os diretórios), então você também desejará adicionar essas permissões.)
Para corrigir isso (supondo que você já tenha criado a estrutura de diretórios), execute o seguinte a partir da raiz da estrutura:
find . -type d -exec chmod g=rwsX {} \;
chgrp -R foo *
Eu usei find
para selecionar apenas os diretórios, já que definir os bits setuid / setgid nos arquivos tem um significado diferente . Obviamente, se você estiver criando um novo diretório, basta executar os comandos chmod
/ chgrp
sem usar find
.
EDIT: Corrigidas as permissões chmod
.