In questa guida imparerai a conoscere il comando chmod. Il comando chmod di Linux è uno dei comandi più comunemente usati soprattutto dagli amministratori di sistema durante l'assegnazione dei permessi di modifica di file e cartelle.
Di solito viene utilizzato durante l'installazione e la configurazione di vari servizi e funzionalità in un sistema Linux. Il comando viene solitamente utilizzato insieme a una serie di notazioni ottali o caratteri alfabetici per modificare i permessi dei file.
Autorizzazioni file Linux
Ogni file sui sistemi Linux ha una serie di autorizzazioni. Esistono 3 tipi di autorizzazione associati a un file.
- Autorizzazioni di lettura identificate da 'r '
- Autorizzazioni di scrittura identificate da "w '
- Autorizzazioni di esecuzione identificate da "x '
Per controllare i permessi dei file di qualsiasi file, usa il comando ls e -l
opzione come mostrato di seguito.
$ ls -l
Ad esempio, per elencare le autorizzazioni di file1.txt eseguire il comando.
$ ls -l file1.txt
Risultato campione
Analizziamo questo output
Il primo trattino (-) indica che le autorizzazioni appartengono a un file e non a una cartella. Le autorizzazioni di una cartella iniziano con un simbolo d per denotare una directory come mostrato.
ls -l /var/www
Risultato campione
Nell'output, la stringa rwxr-xr-x
denota i permessi di questo file. Questo è diviso in 3 sezioni come segue.
- utente autorizzazioni
(rwx)
– Rappresenta le autorizzazioni del proprietario o dell'utente che ha creato il file. Ilrwx
implica che il proprietario può leggere, scrivere ed eseguire il file. - Gruppo autorizzazioni
(r-x)
-Questo rappresenta le autorizzazioni appartenenti agli utenti nel gruppo del file. I permessi r-x implicano che gli utenti del gruppo possono leggere ed eseguire il file, ma non possono scrivere sul file. - Altro autorizzazioni utente
(r-x)
– Si tratta di autorizzazioni per altri utenti che non appartengono né alle due categorie discusse sopra. In questo caso, gli altri utenti possono solo leggere il file.
Modalità di autorizzazione
Ci sono 2 modalità di autorizzazione che possono essere passate a chmod
comando:
- Notazione ottale
- Caratteri alfabetici
1. Notazione ottale
Considera i permessi rwx
. Ciò implica quanto segue:
r=4
w=2
x=1
quindi, ad esempio, rwx
è l'equivalente di 4+2+1 che è uguale a 7.
I valori numerici corrispondenti a ciascuno degli alfabeti vengono aggiunti per ottenere i permessi del file.
Ad esempio, un file con autorizzazioni rwxr-xr--
avrà una notazione ottale di 754
.
Ecco perché:
Calcolo
rwx = 4+2+1 = 7
r-x = 4+0+1 = 5
r-- = 4+0+0 = 4
Come avrai notato, il trattino assume il valore nullo e gli viene assegnato 0 .
Facciamo un altro esempio:
Supponiamo di avere un altro file con i permessi rwx-rw-rw-
.
La notazione ottale verrebbe calcolata come segue:
Calcolo
rwx = 4+2+1 = 7
r-x = 4+2+0 = 6
r-- = 4+2+0 = 6
In definitiva, questo ci darebbe 766
come notazione ottale corrispondente a rwx-rw-rw-
.
Cambiare i permessi dei file con il comando chmod usando la notazione ottale
Per modificare i permessi dei file di un file, usa la sintassi seguente.
chmod [octal value] file-name
Ad esempio, per modificare i permessi del file di un file file1.txt, per dire rw-r--r--
eseguire:
chmod 644 file1.txt
Ciò è illustrato nel calcolo seguente
(user) rw- = 4+2+0 = 6
(group) r-- = 4+0+0 = 4
(others)r-- = 4+0+0 = 4
2. Notazione alfabetica
In notazione alfabetica, i permessi di scrittura sono segmentati in 3 sezioni con ogni sezione recante il rwx
sezioni.
Da sinistra, abbiamo le seguenti notazioni:
u (user)
g (group)
o (others)
a (all)
Questo è meglio illustrato di seguito:
Cambiare i permessi dei file con il comando chmod usando la notazione alfabetica
Per modificare le autorizzazioni dei file utilizzando la notazione alfabetica, utilizza la sintassi seguente.
chmod [user type(u/g/o/a)] [add/revoke(+/-)] [permission type(r/w/x)]
Ad esempio, per modificare i permessi di lettura e scrittura del proprietario di un file, eseguire:
chmod u+rw file1.txt
Per concedere autorizzazioni di scrittura a tutti, eseguire:
chmod a+w file1.txt
Per rimuovere l'autorizzazione di scrittura per tutti gli altri utenti, eseguiamo:
chmod o-w file1.txt
Per modificare i permessi di una directory, eseguiamo:
chmod [permission] [directory name]
Per modificare ricorsivamente i permessi di una directory con i suoi file e sottodirectory, eseguiamo:
chmod -R [permission] [directory name]
Ad esempio, per impostare l'autorizzazione su 755
ricorsivamente a /var/www/
directory eseguire il comando.
chmod -R 755 /var/www
Ci auguriamo che questo articolo sia stato perspicace e ti abbia aiutato con le basi dell'utilizzo del comando chmod. Come sempre, il tuo feedback è molto gradito.