Se você quiser implementar seu chgrp -R nobody /whatever
enquanto retém o bit setuid, você pode usar estes dois comandos find
find /whatever ! -type l -perm -04000 -exec chgrp nobody {} + \
-exec chmod u+s {} +
find /whatever ! -type l ! -perm -04000 -exec chgrp nobody {} +
A opção find ... -perm 04000
seleciona arquivos com o conjunto de bits setuid. O primeiro comando, em seguida, aplica o chgrp
e, em seguida, um chmod
para restabelecer o bit setuid que foi desativado. O segundo aplica chgrp
a todos os arquivos que não possuem um bit setuid.
Em qualquer caso, você não deseja chamar chgrp
ou chmod
em links simbólicos, pois isso afetaria seus destinos, portanto, o ! -type l
.