Definir o grupo padrão para o usuário quando eles criam novos arquivos?

19

Muitas vezes eu me encontro com arquivos chown-ing como eu os criei através de SSH e eles são de propriedade de jm:jm por exemplo.

Então, para permitir que o Apache o acesse, eu preciso, por exemplo, fazer chown jm:www-data .

Tenho certeza de que posso especificar que, ao criar arquivos, em vez de usar o grupo com o meu nome, especificar outro?

Ou existe uma maneira melhor de gerenciar usuários / grupos?

    
por JM at Work 06.07.2011 / 04:41

1 resposta

39

Se você quiser que todos os novos arquivos em um determinado diretório pertençam a um grupo específico, basta aplicar o setgid bit nele:

chgrp www-data /some/dir
chmod g+s /some/dir

Se você tiver uma árvore de diretórios existente à qual deseja aplicar esse comportamento, poderá fazê-lo com find :

find /some/dir -type d -exec chgrp www-data {} +
find /some/dir -type d -exec chmod g+s {} +

(se os diretórios já pertencem ao grupo relevante, você pode omitir o primeiro comando em ambos os exemplos).

    
por James Henstridge 06.07.2011 / 05:22