GNU/Linux >> Linux Esercitazione >  >> Linux

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

Introduzione

I sistemi multiutente, come Linux, richiedono la configurazione e la gestione di autorizzazioni per i file che garantiscano che solo gli utenti autorizzati abbiano accesso ai file che dovrebbero.

Se devi modificare un'autorizzazione per un file, usa il chmod comando. Consente inoltre di modificare l'autorizzazione del file in modo ricorsivo per configurare più file e sottodirectory utilizzando un unico comando.

In questo tutorial imparerai come utilizzare chmod in modo ricorsivo e modificare i permessi dei file su Linux.

Prerequisiti

  • Una riga di comando/finestra del terminale (Ctrl +Alt +T o CTRL +Alt+F2 )
  • Un account utente con sudo privilegi (opzionale)
  • Un sistema Linux

Verifica autorizzazione file

Se hai bisogno di controllare i permessi dei file nella directory di lavoro, usa il comando:

ls –l

L'output elenca i permessi di tutti i file nella directory.

Ad esempio, l'Esempio contiene tre file (test1.txt , test2.txt e test3.txt ) con le stesse autorizzazioni (-rw-rw-r– ).

I permessi dei file sopra elencati ci dicono quanto segue:

  • Il proprietario ha i privilegi di lettura e scrittura
  • Il gruppo del proprietario ha i privilegi di lettura e scrittura
  • Altri utenti avere i privilegi di lettura

Cambia l'autorizzazione in modo ricorsivo

È comune utilizzare il chmod di base comando per modificare i permessi di un singolo file. Tuttavia, potrebbe essere necessario modificare l'autorizzazione in modo ricorsivo per tutti i file all'interno di una directory.

In questi casi, il chmod ricorsivo opzione (-R o --recursive ) imposta l'autorizzazione per una directory (e i file che contiene).

La sintassi per modificare l'autorizzazione del file in modo ricorsivo è:

chmod -R [permission] [directory]

Pertanto, per impostare il 755 autorizzazione per tutti i file nell'Esempio directory, dovresti digitare:

sudo chmod -R 755 Example

Il comando fornisce lettura, scrittura ed esecuzione privilegi al proprietario (7 ) e leggere ed eseguire accesso a tutti gli altri (55 ).

Cambia l'autorizzazione con il comando trova

Per assegnare autorizzazioni separate a directory e file, puoi utilizzare il find comando.

La sintassi di base include l'utilizzo di find comando per individuare file/directory e poi passarlo a chmod per impostare l'autorizzazione:

sudo find [directory] -type [d/f] -exec chmod [privilege] {} \;
  • Sostituisci [directory] con il percorso della directory che contiene i file e le sottodirectory che desideri configurare.
  • Specificare se sta cercando una directory -type d o un file -type f .
  • Imposta il file [privilege] con il chmod comando utilizzando la modalità numerica o simbolica.

Evitare di assegnare privilegi di esecuzione ai file. Una configurazione comune includerebbe l'esecuzione dei seguenti comandi:

sudo find Example -type d -exec chmod 755 {} \;
sudo find Example -type f -exec chmod 644 {} \;

In questo esempio, le directory hanno 755 (u=rwx,go=rx ) privilegi, mentre i file hanno 644 (u=rw,go=r) privilegi.

Puoi verificare che le directory e i file abbiano impostazioni di autorizzazione diverse spostandoti nell'Esempio directory (cd Example ) ed elencare il contenuto (ls -l ). L'output dovrebbe essere simile a quello seguente:

Modifica l'autorizzazione di file specifici in modo ricorsivo

Combinando il find comando con chmod può essere utilizzato anche per modificare i permessi di file di un tipo specifico.

La sintassi del comando per modificare l'autorizzazione di un tipo di file specifico in una directory è:

find [directory] -name "*.[filename_extension]" -exec chmod [privilege] {} \;

Ad esempio, per creare tutti i .sh file nella directory corrente eseguibile , useresti:

find . -name "*.sh" -exec chmod +x {} \;

Linux
  1. Come trovare un file in Linux in tutte le directory in modo ricorsivo

  2. Come visualizzare o modificare l'ACL nei file Linux

  3. Scopri come modificare le autorizzazioni per file e cartelle

  4. Permessi dei file in Linux con esempio

  5. Come usare chmod per modificare i permessi dei file?

Linux:come condividere file su una rete locale con woof

Come modificare le autorizzazioni in Linux

Come rinominare uno o più file in Linux

Comando Chmod:come modificare le autorizzazioni dei file in Linux

Come copiare file con estensione di file specifica in modo ricorsivo

Come comprimere un file in Linux