¿Cómo puedo configurar recursivamente permisos de solo lectura?

¿Cómo puedo configurar recursivamente permisos de solo lectura?

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=rXlo 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

  1. chmodacepta mode X, que solo se configura xen directorios.a=X

  2. 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 {} \; \)

información relacionada