Il comando change of mode o chmod consente di modificare la modalità di accesso ai file in Linux. Ciò ti consente di decidere chi può accedere ed eseguire file. Useremo chmod per modificare i permessi di file e directory in Ubuntu 20.04.
Per visualizzare le autorizzazioni per un file, utilizzare:
ls –l
Cosa significa tutto questo?
Il primo carattere identifica se si tratta di un file (-) o di una directory (d).
Il prossimo è i permessi. I primi tre caratteri mostrano i permessi del proprietario, i tre successivi i permessi del gruppo e gli ultimi tre permessi degli altri. La tabella seguente spiega i tipi di utente.
Utente | Descrizione |
Proprietario | questo è l'utente che possiede il file |
Gruppo | questi sono utenti che fanno parte di un gruppo di utenti |
Altri | questi sono utenti diversi dal proprietario e dai membri del gruppo |
Diamo un'occhiata alle autorizzazioni utente in Linux. Ci sono tre autorizzazioni di base; leggi (r), scrivi (w) ed esegui (x). Leggi significa che l'utente può solo leggere o visualizzare il file. Scrivi consente agli utenti di modificare o eliminare un file. Esegui consente agli utenti di eseguire il file. Come puoi vedere nell'immagine sopra, i permessi sono rappresentati come caratteri o -. Il "–" (trattino) significa che gli utenti non hanno il permesso.
La sintassi di chmod è:
chmod {users}{operator}{permission} {filename}
Gli operatori ti consentono di specificare le autorizzazioni. Abbiamo tre operatori:
+:aggiunge l'autorizzazione
-:rimuove l'autorizzazione
=:ti consente di specificare l'esatta autorizzazione
chmod ha due modalità, la modalità simbolica e quella numerica. Tratteremo entrambi.
Modalità simbolica
Diamo un'occhiata al file "ciao.c". L'utente dispone di tutte e tre le autorizzazioni.
Se vogliamo modificare i permessi in modo che solo il proprietario possa leggere e scrivere il file, mentre il gruppo e altri hanno il permesso di lettura, useremo:
chmod u=rw,og=r hello.c
Per verificare se le autorizzazioni sono state aggiornate, utilizzare
ls –l {filename}
Se desideri aggiungere l'autorizzazione di esecuzione per il proprietario, utilizziamo:
chmod u+x hello.c
Se vediamo ora le autorizzazioni, possiamo vedere l'autorizzazione di esecuzione per il proprietario.
Se vogliamo impostare il permesso di esecuzione per tutti, utilizziamo:
chmod a+x hello.c
Se vediamo ora le autorizzazioni, possiamo vedere l'autorizzazione di esecuzione per tutti gli utenti.
Modalità numerica
Puoi usare un numero di tre cifre per dare i permessi usando chmod. Ecco come funziona, la cifra più a sinistra rappresenta l'autorizzazione per il proprietario, quella centrale è per i membri del gruppo e quella più a destra è per gli altri.
I permessi sono i seguenti:
Leggi =4
Scrivi =2
Esegui =1
Nessuna autorizzazione =0
La tabella seguente riassume le autorizzazioni.
7 | Tutte le autorizzazioni | 4+2+1 |
6 | Leggi e scrivi | 4+2+0 |
5 | Leggi ed esegui | 4+0+1 |
4 | Sola lettura | 4+0+0 |
3 | Scrivi ed esegui | 0+2+1 |
2 | Solo scrittura | 0+2+0 |
1 | Esegui solo | 0+0+1 |
0 | Nessun permesso | 0+0+0 |
Usiamo questo metodo per impostare l'autorizzazione per ABC.txt.
Se vogliamo che il proprietario disponga di tutte le autorizzazioni e il gruppo e gli altri abbiano le autorizzazioni di lettura, utilizzeremo:
chmod 744 ABC.txt
Per verificare se le autorizzazioni sono state aggiornate, utilizzare
Se vuoi modificare ricorsivamente i permessi di tutti i file all'interno di una directory, usa:
chmod –R {permissions} {filename}
Questo comando fornisce al proprietario tutte e tre le autorizzazioni e i gruppi e gli altri nessuna autorizzazione.
Se vuoi saperne di più su chmod, usa:
man chmod
Questo ti porterà al manuale che contiene tutti i dettagli su questo comando.
In questo articolo abbiamo trattato sia la modalità simbolica che quella numerica del comando chmod.