Com variante de comando único do GNU chmod
(no Ubuntu) (iniciando no diretório atual):
chmod -R -x+X .
Explicação:
-
-R
- opera recursivamente -
-x
- remove flags executáveis para todos os usuários -
+X
- definir flags executáveis para todos os usuários, se for um diretório
Nesse caso, o capital X
se aplica somente aos diretórios porque todos os sinalizadores executáveis foram limpos por -x
. Caso contrário, +X
definirá os sinalizadores de executável também se o sinalizador foi originalmente definido para qualquer usuário, grupo ou outros.
Com o BSD chmod
(presente no Mac OS X), você precisa fazê-lo separadamente em dois comandos:
sudo chmod -R -x * && sudo chmod -R +X *
(Se você quiser incluir arquivos ocultos no diretório principal, provavelmente precisará alterar * para. (ponto), mas não foi testado.)