Tengo un directorio muy grande y profundo. Me gustaría que todo sea de sólo lectura. El problema es que supongo que tengo que distinguir entre archivos (que obtendrán a=r
) y directorios (que obtendrán a=rx
).
¿Cómo puedo hacer eso?
Respuesta1
Acabo de encontrar esto: chmod a=rX
lo que resuelve mi problema. Del hombre: (X) execute/search only if the file is a directory or already has execute permission for some user
.
Respuesta2
chmod
acepta modeX
, que solo se configurax
en directorios.a=X
También puedes simplemente eliminar el permiso de escritura:
a-w
Respuesta3
Las sugerencias anteriores no funcionaron para mí, todas las carpetas estaban configuradas como de solo lectura.
Un colega me dio esto, que funciona:
find . -type f -exec chmod a-w {} \;
Respuesta4
find somepath \( -type f -exec chmod a=r {} \; \) -o \( -type d -exec chmod a=rx {} \; \)