3.21. Come cambio i permessi di un file?

Il comando chmod(1) serve a cambiare i permessi di un file. Occorre specificare al comando se vogliamo cambiare i permessi per il proprietario, il gruppo, o il "resto del mondo", specificare se vogliamo aggiungere o togliere permessi e quali siano questi permessi. Per identificare l'utente proprietario, il gruppo e gli altri utenti si usano i seguenti caratteri:

u : proprietario
g : gruppo
o : altri utenti
     
Se vogliamo aggiungere permessi useremo il simbolo + mentre se vogliamo toglierne, il simbolo -. I permessi si identificano con la lettera che corrisponde ad ognuno di essi: r per la lettura, w per la scrittura e x per l'esecuzione. Per cambiare i permessi di un ipotetico file
-rw-r--r--  1 paperino  paperino   1513 16 Feb 17:21 sfortune
     
e aggiungere il permesso di scrittura anche per il gruppo proprietario, dovremo lanciare il seguente comando:
% chmod g+w sfortune
     
oppure, per togliere il permesso di lettura a tutti gli altri utenti:
% chmod o-r sfortune
     
Vi è anche un altro sistema per cambiare i permessi, basato su cifre incece che su caratteri: è sempre presente la divisione in 4 sezioni, ma ognuna di esse può contenere solo un numero, risultato della somma dei permessi che si vogliono assegnare o 0 se non si vogliono assegnare permessi. Tralasciando la prima sezione, che assume valori particolari, ritrovabili nella man di chmod(1), queste sono le valenze di ogni permesso:
4 : permesso in lettura
2 : permesso in scrittura
1 : permesso di esecuzione
     
Ad esempio per ripristinare i permessi del file sfortune, dovremo eseguire il seguente comando:
% chmod 0644 sfortune
     
in quanto:
0 : prima sezione vuota
6 = 4 + 2 : permesso in lettura e scrittura per il proprietario
4 : permesso in lettura per il gruppo
4 : permesso in lettura per tutti gli utenti
     
Un permesso in lettura, scrittura ed esecuzione avrà naturalmente valore 7, uno in lettura ed esecuzione valore 5 e così via. L'utilizzo dei permessi è un ottimo modo per aumentare la riservatezza personale e un'attenta politica consente di non correre il rischio di trovare compromessi i nostri dati importanti.