Como posso definir recursivamente permissões somente leitura?

14

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

Como eu posso fazer isso?

David B
fonte
Acabei de encontrar o seguinte: o chmod a=rXque resolve meu problema. Desde man: (X)execute/search only if the file is a directory or already has execute permission for some user
David B
Se isso pretende ser uma resposta, deve ser uma resposta.
Ignacio Vazquez-Abrams

Respostas:

13

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

David B
fonte
7
  1. chmodaceita o modo X, que define apenas os xdiretórios.a=X

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

user1686
fonte
3
+1 para a opção 2, da maneira mais lógica
Matteo Riva
3
+1 para a opção 2 também, mas -0.5 por engano o que significa capital de X em chmod
Doug Harris
3

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 {} \;
Estranho Erik Paulsen
fonte
1
find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)
Ignacio Vazquez-Abrams
fonte