giovedì 28 ottobre 2010

Cambiare i permessi a un file

Per ogni file e per ogni gruppo di utenti sono possibili tre tipologie di permessi che di seguito elenco: lettura (r, read), scrittura (w, write) ed esecuzione (x, executable). La stringa rwx viene riportata in corrispondenza dei gruppi di utenti per l'assegnazione dei permessi. In assenza di uno dei permessi il carattere - prende il posto del permesso negato.

I gruppi di utenti previsti per l'utilizzo del file prevedono: l'utente proprietario del file (user), il gruppo a cui appartiene l'utente (group) e il gruppo formato da tutti gli altri utenti (other). I permessi per i file dicono chiaramente chi può fare cosa e chmod (eseguito dal proprietario o dall'utente root) è il comando che li modifica.

Con chmod possiamo assegnare e rimuovere permessi. L'assegnazione avviene facendo precedere ai simboli che descrivono i permessi (r,w oppure x) il simbolo +. La rimozione di un permesso prevede invece l'uso del simbolo -. Bene, non ci rimane che capire come fare per indicare al comando chmod verso quale gruppo direzionare i nuovi permessi. Ricordate la precedente distinzione fatta sui gruppi? I gruppi user, group e other vengono referenziati dal comando chmod, rispettivamente, dai simboli u,g ed o.

Questo significa che se voglio aggiungere ai gruppi group (g) e other (o) i permessi in lettura e scrittura, verso il file file.txt, scriverò qualcosa del genere: chmod go+rw file.txt! Analogamente, se decido che i precedenti due gruppi possono leggere il file.txt senza modificarne i contenuti, scriverò qualcosa di questo tipo: chmod go-w file.txt!

Non sempre, però, i gruppi di utenti vantano gli stessi permessi nei confronti di un file! Questo significa che, in alcune circostanze, bisogna chiamare chmod più volte. In realtà il comando permette l'assegnazione dei permessi anche attraverso una seconda notazione, detta numerica. La prima notazione vista e usata da chmod viene detta alfabetica.

Nella notazione numerica viene passato al comando un numero, composto da tre cifre, che sintetizza i permessi da assegnare ai vari gruppi. Ogni singola cifra viene ottenuta sommando i pesi attribuiti ai vari permessi: r vale 4, w vale 2 ed x vale 1. Pertanto, se un gruppo ha i permessi in lettura (4) e scrittura (2), il numero da passare a chmod, in corrispondenza del gruppo è 6! Il primo numero passato a chmod è assegnato all'utente (user, il proprietario del file), il secondo numero specifica i permessi assegnati al gruppo group e l'ultimo indica i permessi per il gruppo other. Ad esempio, con il comando chmod 644 file.txt vengono assegnati al file file.txt i permessi di lettura e scrittura per l'utente, quello di sola lettura per i gruppi group e other

Nessun commento:

Posta un commento