GNU/Linux >> Linux Esercitazione >  >> Linux

Concedi il permesso di esecuzione alle directory ma non ai file

Per dare il permesso di esecuzione (ricerca) alle directory, ma non ai file, usa:

chmod -R +X .

Per assegnare tutti i permessi come nel tuo esempio, usa:

chmod -R u=rwX,g=rX,o= .

-R cambia file e directory in modo ricorsivo, mentre +X imposta l'esecuzione/ricerca solo se il file è una directory o ha già il permesso di esecuzione per qualche utente. r e w sono ovviamente rispettivamente per la lettura e la scrittura.

Modalità X (superiore x ) è documentato sia nella tradizionale pagina di manuale che nella documentazione informativa.

Dovrebbe funzionare anche su altri sistemi simili a Unix, ad es. FreeBSD, NetBSD o OpenBSD. Citando dalla pagina man di chmod(1) di The Open Group Base Specifications Issue 7, edizione 2018:

La X Il simbolo perm è stato adottato dai sistemi basati su BSD perché fornisce funzionalità comunemente desiderate durante l'esecuzione ricorsiva (-R opzione) modifiche. Una funzionalità simile non è fornita da find utilità. Versioni BSD storiche di chmod , tuttavia, supportava solo X con op +; è stato esteso in questo volume di POSIX.1-2017 perché è utile anche con op =. (È stato aggiunto anche per op - anche se duplica x , in questo caso, perché è intuitivo e più facile da spiegare.)

man 1 chmod
info '(coreutils)Conditional Executability'


Se vuoi farlo in modo ricorsivo, cioè , alle directory all'interno delle directory all'interno delle directory, il comando da utilizzare è:

 find /path/to/starting/directory -type d -exec chmod +x {} \;

Questo individua tutte e solo le sottodirectory (-type d flag) della directory /path/to/starting/directory, quindi esegue la modifica richiesta del permesso di esecuzione per ciascuna di esse. Lo spazio prima di \; è obbligatorio.


Linux
  1. Copia file e directory in Linux

  2. Confronta le directory ma non il contenuto dei file?

  3. Linux:imposta l'autorizzazione solo per le directory

  4. bash - rimuove tutte le directory (e i contenuti) ma non i file in pwd

  5. Come modificare i file in base ai risultati del comando find

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

Come modificare i permessi per file e directory

Eseguire l'installazione, ma non nelle directory predefinite?

Rimuovi solo i file nella directory su Linux NOT directory

Usa il comando find ma escludi i file in due directory

Trova i file esistenti in una directory ma non nell'altra