Se o grupo de /some/dir for foo e eu executar
chmod g+s /some/dir
... então qualquer filho de /some/dir também terá o grupo foo .
Crucialmente, no entanto, um novo subdiretório /some/dir/subdir não terá g+s (embora, como acabamos de afirmar, seu grupo seja foo ).
Como posso garantir que todos os subdiretórios descendentes de /some/dir não apenas herdam o grupo foo , mas também herdam a permissão g+s ?
FWIW, meu umask é 002 , o sistema de arquivos é nfs e as opções de acordo com mount são (rw,relatime,vers=3,rsize=20961,wsize=413177,namlen=255,hard,proto=tcp,timeo=450,retrans=2,sec=sys,mountaddr=xxx.xxx.xxx.xxx,mountvers=3,mountport=333,mountproto=udp,local_lock=none,addr=xxx.xxx.xxx.xxx) .
UPDATE: Agora eu entendo a origem da minha confusão: algumas vezes alterando o grupo de um diretório (com chgrp ) tem o efeito de desativar um bit de setgid ativado anteriormente. Por exemplo,
% rm -rf /some/dir
% mkdir -p /some/dir
% chmod g+s /some/dir
% ls -ld /some/dir
drwxrwsr-x 2 jones jones 0 Nov 7 07:13 /some/dir
% chgrp foo /some/dir
% ls -ld /some/dir
drwxrwxr-x 2 jones jones 0 Nov 7 07:13 /some/dir
(Observe que o bit setgid termina não definido.)
Como eu disse, isso acontece apenas às vezes . Por exemplo, se eu repetir a mesma seqüência acima, mas eu executar o comando chgrp em sudo , o bit setgid permanecerá definido no final.
Esse efeito de chgrp nas permissões foi o que me dispensou.