GNU/Linux: gestire proprietari e permessi dei file

Due comandi fondamentali per chi gestisce sistemi Linux: chmod, che modifica i permessi di un file, e chown (insieme al suo parente chgrp), che ne cambia proprietario e gruppo. Se non hai visto la puntata precedente sui permessi, recuperala: qui diamo per scontato che UGO (user, group, others) e rwx (read, write, execute) siano già nella tua testa.

Partiamo dal file di prova della volta scorsa. Se non ce l’hai, crealo:

echo "prova permessi" > permessi.txt
ls -l permessi.txt

Il file ha permessi di lettura e scrittura per il proprietario e di sola lettura per il gruppo e per gli altri: rw-r–r–.

Chmod: cambiare i permessi

chmod sta per change mode. La sintassi simbolica è: chi (u, g, o), poi l’operazione (+ aggiunge, – toglie, = imposta), poi quali permessi (r, w, x), infine il file.

Togliamo il permesso di lettura a others:

chmod o-r permessi.txt
ls -l permessi.txt

Others non ha più il permesso di lettura. Ora aggiungiamo il permesso di esecuzione al proprietario:

chmod u+x permessi.txt
ls -l permessi.txt

Lo user ora ha rwx. Si può cambiare più di un permesso alla volta: diamo al gruppo anche scrittura ed esecuzione.

chmod g+wx permessi.txt
ls -l permessi.txt

Il gruppo ha aggiunto w e x.

Chown e chgrp: proprietario e gruppo

Per cambiare l’utente proprietario si usa chown. Per esempio, assegniamo il file a www-data, l’utente del server web (serve essere root, quindi con sudo):

sudo chown www-data permessi.txt
ls -l permessi.txt

L’utente non è più root ma www-data. Per cambiare il gruppo c’è chgrp:

sudo chgrp www-data permessi.txt
ls -l permessi.txt

Con chown puoi cambiare utente e gruppo contemporaneamente, con la sintassi utente:gruppo. Rimettiamo tutto a root in un colpo solo:

sudo chown root:root permessi.txt
ls -l permessi.txt

Agire sulle cartelle: L’opzione -R

Questi comandi lavorano su un file alla volta. Se li applichi a una cartella e vuoi che la modifica si estenda ricorsivamente a sottocartelle e file contenuti, devi usare l’opzione -R maiuscola, sia con chown che con chgrp (e anche con chmod):

sudo chown -R www-data:www-data cartella
sudo chgrp -R www-data cartella
chmod -R o-r cartella

Se hai dubbi sulla sintassi di un comando, c’è sempre il manuale:

man chown

Dentro man ritrovi l’opzione -R di cui parlavamo, e quando hai finito di leggere premi q per tornare da dove eri partito.

Conclusione

Abbiamo visto chmod, chown e chgrp, per gestire permessi, proprietari e gruppi proprietari dei file. Sono basi importanti: vanno sbranate da chiunque si occupi di sistemi Linux. Fai pratica sulla tua macchina, sempre con file sacrificabili.

Link e risorse

Sostieni il canale

PER SOSTENERE IL CANALE BASTANO UN LIKE E UN’ISCRIZIONE!

questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!