GNU/Linux >> Tutoriales Linux >  >> Linux

Chmod recursivamente

Puedes usar chmod con el X letra de modo (la X mayúscula) para establecer el indicador ejecutable solo para directorios.

En el siguiente ejemplo, el indicador ejecutable se borra y luego se establece para todos los directorios de forma recursiva:

~$ mkdir foo
~$ mkdir foo/bar
~$ mkdir foo/baz
~$ touch foo/x
~$ touch foo/y

~$ chmod -R go-X foo 
~$ ls -l foo
total 8
drwxrw-r-- 2 wq wq 4096 Nov 14 15:31 bar
drwxrw-r-- 2 wq wq 4096 Nov 14 15:31 baz
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 x
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 y

~$ chmod -R go+X foo 
~$ ls -l foo
total 8
drwxrwxr-x 2 wq wq 4096 Nov 14 15:31 bar
drwxrwxr-x 2 wq wq 4096 Nov 14 15:31 baz
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 x
-rw-rw-r-- 1 wq wq    0 Nov 14 15:31 y

Un poco de explicación:

  • chmod -x foo - borrar el ejecutable bandera para foo
  • chmod +x foo - configurar el ejecutable bandera para foo
  • chmod go+x foo - igual que arriba, pero establece la bandera solo para Grupo y Otro usuarios, no toques el Usuario (propietario) permiso
  • chmod go+X foo - igual que arriba, pero se aplica solo a directorios, no toque archivos
  • chmod -R go+X foo - igual que arriba, pero haz esto Recursivamente para todos los subdirectorios de foo

Necesita acceso de lectura, además de acceso de ejecución, para enumerar un directorio. Si solo tiene acceso de ejecución, entonces puede averiguar los nombres de las entradas en el directorio, pero ninguna otra información (ni siquiera los tipos, por lo que no sabe cuáles de las entradas son subdirectorios). Esto funciona para mí:

find . -type d -exec chmod +rx {} \;

Linux
  1. Eliminar archivos recursivamente de forma segura:trituración

  2. Sistema roto después de Chmod -r 644 /?

  3. Cambiar ¿Quién puede cambiar?

  4. ¿Es Rsync ~/foo Target/foo lo mismo que Rsync ~/foo/ Target/foo/?

  5. ¿Encontrar los archivos más grandes recursivamente?

Cómo cambiar los permisos de archivos de forma recursiva con chmod en Linux

Comando Chmod en Linux (Permisos de archivo)

Cómo cambiar recursivamente los permisos de archivos en Linux

Cómo Chown recursivamente en Linux

Definir un alias en caparazón de pescado

chmod no funciona