Como posso definir recursivamente permissões somente leitura?

13

Eu tenho um diretório muito grande e profundo. Eu gostaria de fazer tudo isso apenas para leitura. O problema é que eu tenho que distinguir entre arquivos (que irão receber a=r ) e diretórios (que irão receber a=rx ).

Como posso fazer isso?

    
por David B 05.10.2010 / 09:54

4 respostas

13

Acabei de encontrar isto: chmod a=rX , 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 .

    
por 05.10.2010 / 10:25
6
  1. chmod aceita o modo X , que define apenas x nos diretórios. a=X

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

por 05.10.2010 / 09:58
3

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

find . -type f -exec chmod a-w {} \;
    
por 18.01.2012 / 10:07
1
find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)
    
por 05.10.2010 / 09:56