3.1 Rappresentazione dei Permessi
Nei sistemi linux la gestione dei gruppi e dei permessi può avvenire totalmente
da linea di comando, ed è su questa che ci concentreremo per garantire la
più ampia compatibilità possibile con le varie distribuzioni
in circolazione.
Sicuramente avendo installato e, magari, funzionante una linux-box
avrete giè familiarità con i concetti di user e root. Avrete già
sperimentato che mentre come root potete muovervi liberamente per il vostro Sistema
Operativo e modificare tutto ciò che vi capiti a portata di mano, come user
non solo non potete modificare tutto ciò che vi aggrada ma avete anche l'accesso
precluso ad alcune zone del vostro filesystem. Tutto ciò, a livello amministrativo,
viene gestito con i gruppi ed i permessi.
Supponiamo che l'utente raffaello nella propria home abbia
una directory denominata diario e che al suo interno abbia il file lista_spesa.
Diamo un'occhiata al contenuto del file:
- $ cat lista_spesa
comprare la farina
e diamo ls -l nella directory diario
- $ ls -l
total 4
-rw-r-r- 1 raffaello users 29 Oct 23 13:08 lista_spesa
Apprendiamo che il file appartiene a raffaello
ed al gruppo users. Inoltre osservando l'inizio della riga possiamo individuare
tre triplette. La prima tripletta (rosso) fa riferimento all'utente possessore
del file, la seconda tripletta (blu) fa riferimento al gruppo a cui il file appartiene.
Le due lettere che compaiono stanno r per read e w per write.
A questo punto possiamo dire che l'utente raffaello ha i permessi in lettura e
scrittura sul file lista_spesa mentre il gruppo users ha il permesso in sola lettura.
L'ultima tripletta fa riferimento a tutti gli altri utenti, in questo caso chiunque
può leggere il file lista_spesa ma solo raffaello può scriverci.
3.1.1 Cambiare i permessi ad un file
Supponiamo che questo tipo di permessi non ci vadano bene e di voler apportare
qualche modifica, utilizzeremo allora il tool chmod(1).
Supponiamo di voler lasciare il possessore del file con gli stessi permessi e
di voler che il gruppo users possa scrivere il file oltre che leggerlo e che nessun
altro possa leggerlo.
Aprendo una console e spostandoci nella directory diario daremo il comando chmod:
-
- $ chmod g+w,o-r lista_spesa
dando nuovamente ls -l:
-
- $ -rw-rw-- 1 raffaello users 29 Oct 23 13:08 lista_spesa
Come possiamo osservare i permessi sono cambiati.
La sintassi è intuitiva, + e - indicano se aggiungere o togliere il permesso,
la lettera prima del segno indica a chi il permesso deve essere tolto o dato (u
= user, g=group e o=others), la lettera immediatamente dopo il segno indica di
quale permesso si sta parlando. La virgola separa le diverse opzioni.
Se la lettera prima del segno viene omessa, quindi si ha la forma
-
- $ chmod +w lista_spesa
il permesso in scrittura verrà dato a tutti, (user group
ed others). Inoltre nella forma:
-
- $ chmod +wr lista_spesa
Verranno dati a tutti i permessi in lettura e scrittura.
Ma questo non è l'unico modo di rappresentare i permessi, esiste anche una
rappresentazione numerica.
|