APPROFONDIMENTI 6

Gestire i permessi: chmod, chown, chgrp

chown nomeproprietario:nomegruppo nomefile

Può essere utilizzato anche per il solo proprietario (in questo caso è possibile omettere il nomegruppo):
chown nomeproprietario nomefile
Facciamo un esempio: poniamo di voler assegnare il file immagine.jpg all’utente ‘pippo’ ed al gruppo ‘grafici’:
chown pippo:grafici immagine.jpg
Molto simile a chown è chgrp che si limita a cambiare il gruppo di un file o directory (senza poter intervenire sul proprietario). La sintassi è la seguente:
chgrp nomegruppo nomefile

chmod, chown, chgrp in modalità ricorsiva
Tutti e tre i comandi visti in questa lezione supportano la modalità ricorsiva. Tal modalità è molto comoda se si deve agire su una cartella e su tutto quanto è in essa contenuto.
Per attivare la modalità ricorsiva:

chmod -R 777 nomecartella

Se digitiamo al prompt di una macchina linux “# ls -alt” ci viene restituita una lista dei file.

Sulla prima colonna troviamo 10 lettere che indicato come sono impostati i permessi di quella directory o file.

Sulla seconda il numero di hard link (collegamenti fisici) ( ma di questo ne parleremo un’altra volta. )

Sulla terza e quarta rispettivamente nome del proprietario e nome del gruppo.

Cominciamo dalla prima colonna:
La prima lettera indica se è una directory (d) , un link simbolico (l) o un file (-) mentre le restati 9 ( a gruppi di 3 ) definiscono i permessi per proprietario, gruppo e altri utenti.

I tipi di permesso possono essere

lettura (r)
scrittura (w)
esecuzione (x)
Nell’esempio qui sotto abbiamo un file dove il proprietario può leggere e scrivere ( rw-) , il gruppo può solo leggere ( r–) ed infine tutti quelli che non fanno parte del gruppo possono solo leggere ( r– ).
Andando direttamente alla terza e quarta colonna ( root suser ) possiamo capire che questo file appartiene all’utente root ed al gruppo suser
-rw-r–r– 1 root suser …………………

Adesso che abbiamo capito come leggere tutte queste informazioni vediamo come cambiarle.

chmod è il comando che modifica i permessi mentre chown cambia utente e gruppo.

chmod ha due tipi di sintassi: simbolica e ottale ( vedi # man chmod ) , io cercherò di spiegarvi la seconda che ritengo più sintetica.

Il sistema ottale è composto da tre cifre e definisce un un unica volta i vari tipi di permessi per proprietario, gruppo e utenti.
Questi tre numeri vengono calcolati sommando i seguenti valori ottali:
0 – Nessun permesso.
1 – Esecuzione.
2 – Scrittura.
4 – Lettura.

Passiamo a qualche esempio ..
(1) # chmod 777 nomefile
(2) # chmod 644 nomefile

es.1 In questo modo abbiamo impostato il permesso di lettura scrittura ed esecuzione ( 4+2+1 = 7 ) rispettivamente per proprietario, gruppo e utenti.
es.2 Seguendo lo stesso ragionamento abbiamo impostato lettura e scrittura ( 4+2 = 6 ) per il proprietario e solo lettura ( 4 ) per gruppo e utenti

Arrivati qui non ci rimane altro che capire come usare chown la cui sintatti si può riassumenre con

chown nomeproprietario:nomegruppo nomefile

Faccio un esempio ..

chown maurizio:suser nomefile

Con questo comando abbiamo impostato maurizio come proprietario e suser come gruppo.

Sia per chmod che per chown possiamo sostituire nomefile con nomedirectory e se aggiungiamo il parametro opzionale -R lo applichiamo in modo ricorsivo su tutte le sotto directory.
# chmod -R 744 nomedirectory
# chown -R maurizio:suser nomedirectory
chown -R nomeproprietario:nomegruppo nomecartella
chgrp -R nomegruppo nomecartella