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=rX
o 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
chmod
aceita modeX
, que define apenasx
diretórios.a=X
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 {} \; \)