Como posso definir recursivamente permissões somente leitura?

Como posso definir recursivamente permissões somente leitura?

Eu tenho um diretório muito grande e profundo. Eu gostaria de fazer com que tudo fosse somente leitura. O problema é que acho que preciso distinguir entre arquivos (que receberão a=r) e diretórios (que receberão a=rx).

Como eu posso fazer isso?

Responder1

Acabei de encontrar isto: chmod a=rXo que resolve o meu problema. Do homem: (X) execute/search only if the file is a directory or already has execute permission for some user.

Responder2

  1. chmodaceita mode X, que define apenas xdiretórios.a=X

  2. Você também pode simplesmente remover a permissão de gravação:a-w

Responder3

As sugestões acima não funcionaram para mim, todas as pastas foram definidas como somente leitura.
Um colega me deu isso, que funciona:

find . -type f -exec chmod a-w {} \;

Responder4

find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)

informação relacionada