Use a localização:
find /home/* -type d -maxdepth 0 -perm /g+w,o+rwx -exec chmod g-w,o-rwx '{}' +
Se você quiser fazer isso de forma recursiva, ao usar -R em seus exemplos, use este
find /home/* -perm /g+w,o+rwx -exec chmod g-w,o-rwx '{}' +
Editar:
Breve explicação das opções de busca, para detalhes, veja man find :
O -perm junto com /mode significa que qualquer um dos bits está definido.
A sintaxe clássica -exec é -exec command '{}' ';' . Os caracteres {} são substituídos pelo nome do arquivo, as aspas estão lá para protegê-los do shell, na maioria dos shells isso não é necessário, mas não faz mal. O ';' é o final do comando, aqui a cotação é necessária para a maioria dos shells, mas uma forma alternativa é \; . A desvantagem é que há uma chamada para chmod por arquivo alterado. Isso é evitado com a forma alternativa em que o comando é finalizado com + . Este formulário chama exec com muitos nomes e é, na verdade, semelhante a xargs , e até economiza a sobrecarga de chamar xargs .