Nell'articolo Gestire gli utenti in Linux abbiamo chiarito le idee sul significato di utente in ambiente Unix, ora cercheremo di rispondere alla seconda domanda che ora vi sta torturando: ma come possiamo impostare delle restrizioni in base all'utente o al gruppo di appartenenza? In altre parole, cosa ce ne facciamo ora degli utenti?
Innanzitutto tramite gli utenti È possibile delineare gli spazi entro cui È possibile muoversi (inteso sia come spazio fisico occupabile su disco o come accesso a file o directory). Ogni utente ha tra l'altro una propria directory personale (in /home/nomeutente che può essere indicata anche con ~nomeutente).
Ma veniamo al nocciolo della questione: i permessi.
I permessi sono preposti a delineare ciò che un utente può compiere oppure no in base ai privilegi che gli sono stati attribuiti dall'amministratore. Per i file essi possono essere di tre tipi: lettura, scrittura, esecuzione. Con lettura si intende il privilegio di un utente di poter vedere il contenuto di un file (per esempio con cat nomefile) o di una directory. Il file /etc/shadow È un esempio di file la cui lettura non È consentita a un utente normale.
Tramite il permesso di scrittura si ha la possibilità di modificare un file (come per esempio cambiare qualche lettera in un file di testo) o il contenuto di una directory. Per cancellare un file È necessario avere i permessi in scrittura nella directory dove il file risiede. Un esempio di file con l'accesso in scrittura negato a un normale utente È il file /etc/passwd. Il permesso di esecuzione ci consente di rendere eseguibile un file o di poter entrare in una directory. Ogni file può quindi esser reso eseguibile (questo però ha senso ovviamente se si tratta di uno script o di un binario compilato, cioÈ un'applicazione come nel senso di Windows).
Andiamo ora ad esaminare i permessi di qualche file e directory. Per far questo usiamo il comando ls -la (equivalente del dir di DOS, l'opzione -la ci fa mostrare delle informazioni dettagliate su tutti i file, compresi quelli nascosti, cioÈ il cui nome inizia con .).
Questo output può essere suddiviso in 9 campi:
- permessi e tipo (-rw-r--r--)
- hard links (1)
- owner (root)
- dimensione (1357)
- dimensione (1357)
- mese dell'ultima modifica (May)
- giorno dell'ultima modifica (12)
- ora dell'ultima modifica (15:09)
- file (/etc/passwd)
I campi owner group other
Ritornando all'esempio il file /etc/passwd
andrea@lnxbox1:~/programmazione$ ls -la total 96 drwxr-xr-x 6 andrea amici 4096 May 13 00:19 . drwxr-xr-- 78 andrea amici 12288 May 13 00:14 .. -rwxr-xr-x 1 andrea amici 27767 Feb 13 22:47 Prog -rw-r--r-- 1 andrea amici 35594 Feb 13 22:13 Prog.c drwxr-xr-x 2 andrea amici 4096 Jan 13 00:14 cpp drwxr-xr-x 2 andrea amici 4096 Jan 13 00:14 perl drwxr-xr-x 2 andrea amici 4096 Jan 13 00:14 php drwxr-xr-x 2 andrea amici 4096 Jan 13 00:15 python
In questo caso abbiamo una directory con all'interno 4 subdirectory andrea amici
Ora che abbiamo compreso come si indicano i permessi sui file e directory vediamo di scoprire come modificarli. Questo è l'argomento del prossimo articolo.