GNU/Linux >> Linux Esercitazione >  >> Linux

Chmod in modo ricorsivo

Puoi usare chmod con X mode (la X maiuscola) per impostare il flag eseguibile solo per le directory.

Nell'esempio seguente il flag eseguibile viene cancellato e quindi impostato per tutte le directory in modo ricorsivo:

~$ 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 po' di spiegazione:

  • chmod -x foo - cancella eXecutable flag per foo
  • chmod +x foo - impostare l'eXecutable flag per foo
  • chmod go+x foo - come sopra, ma imposta il flag solo per Gruppo e Altro utenti, non toccare Utente (proprietario) autorizzazione
  • chmod go+X foo - come sopra, ma si applica solo alle directory, non toccare i file
  • chmod -R go+X foo - come sopra, ma fallo ricorsivamente per tutte le sottodirectory di foo

È necessario l'accesso in lettura, oltre all'accesso in esecuzione, per elencare una directory. Se hai solo accesso in esecuzione, puoi trovare i nomi delle voci nella directory, ma nessun'altra informazione (nemmeno i tipi, quindi non sai quali delle voci sono sottodirectory). Questo funziona per me:

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

Linux
  1. Permessi Linux:un'introduzione a chmod

  2. Come eseguire il Chmod senza /usr/bin/chmod?

  3. Sistema rotto dopo Chmod -r 644 /?

  4. Rsync ~/foo Target/foo è uguale a Rsync ~/foo/ Target/foo/?

  5. Ordinare i file in base alle dimensioni in modo ricorsivo?

Come modificare le autorizzazioni dei file in modo ricorsivo con chmod in Linux

Comando Chmod in Linux (autorizzazioni file)

Come modificare ricorsivamente le autorizzazioni dei file in Linux

Come Chown ricorsivamente su Linux

Trova i file più grandi in modo ricorsivo?

Definisci un alias nel guscio di pesce