Premessa
I
sistemi Unix-like gestiscono tutto come file, le directory
tramite cui sono ordinati i file sono anch'esse file, lo stesso vale
per i dispositivi, i singoli processi, ecc. Tutti i file hanno
associati un utente proprietario, un gruppo di utenti e dei permessi
che ne regolano l'accesso. Solo il super utente "root" ha
la possibilità di accedere a qualsiasi file nel sistema senza tenere
conto dei permessi.
Utilizziamo
il Terminale
Il
terminale è lo strumento che ci permette di visualizzare ed
eventualmente modificare i proprietari ed i permessi di accesso ai
file. Questo potente e flessibile strumento è temuto e ritenuto
troppo complicato da molti utenti, soprattutto da quelli poco pratici
degli ambienti Unix-like, ma
in realtà, con un minimo di pratica, si dimostra molto più efficace
e veloce di qualsiasi gestore di file con interfaccia grafica.
Visualizzare
proprietari e permessi con il comando ls
Per poter visualizzare i proprietari ed i permessi dei
file possiamo usare il comando ls con l'opzione -l,
digitiamo quindi:
ls
-l
e vedremo la lista dei file contenuti nella directory
corrente arricchita da diverse informazioni, come ad esempio:
drwxr-xr-x
2 massi massi 4096 feb 7 14:52 Documenti
-rw-r--r--
1 massi massi 179 feb 7 14:36 examples.desktop
drwxr-xr-x
2 massi massi 4096 apr 24 11:28 Immagini
drwxr-xr-x
2 massi massi 4096 feb 7 14:52 Modelli
drwxr-xr-x
2 massi massi 4096 feb 7 14:52 Musica
drwxr-xr-x
2 massi massi 4096 feb 7 14:52 Pubblici
drwxr-xr-x
5 massi massi 4096 apr 27 16:43 Scaricati
drwxr-xr-x
2 massi massi 4096 apr 28 13:15 Scrivania
drwxr-xr-x
2 massi massi 4096 apr 27 23:42 Video
la prima stringa di lettere rappresenta i permessi di
accesso ai file, analizziamo insieme quella relativa alla directory
Documenti:
d il primo carattere, ci informa che il file è
una directory;
rwx è la prima terna di caratteri che
rappresentano i permessi di accesso del proprietario, r sta
per read (lettura), w sta per write
(scrittura) e x sta per execute
(esecuzione). Quindi il proprietario ha la facoltà di leggere,
scrivere ed eseguire il file.
r-x
è la seconda terna e rappresenta i permessi del gruppo a cui
appartiene il file. In questo caso gli appartenenti al gruppo hanno
facoltà di lettura ed esecuzione, ma non di scrittura.
r-x
è l'ultima terna e si
riferisce a tutti gli altri utenti. I permessi sono gli stessi
riservati al gruppo, cioè lettura ed esecuzione.
Successivamente abbiamo il nome del proprietario e
quello del gruppo, tutti i file sono di proprietà dell'utente massi
e del gruppo massi.
Modificare
il proprietario e il gruppo dei file
Per
modificare il proprietario e il gruppo di un file usiamo il comando
chown.
Ad
esempio creiamo un file di prova con il seguente comando:
touch
prova
Il
comando touch
creerà un file con il nome prova,
il proprietario e il gruppo sarà quello dell'utente corrente. Se
volessimo cambiare il proprietario del file prova
con l'utente paolo ed
il gruppo lavoro scriveremo:
sudo
chown paolo:lavoro prova
Ora il proprietario sarà paolo ed il gruppo
lavoro. Come vedete dall'esempio è necessario usare il
comando sudo per poter ottenere il permesso di modificare il
proprietario ed il gruppo di un file.
Modificare
i permessi di accesso di un file
Per modificare i permessi di accesso di un file
utilizziamo il comando chmod, anche in questo caso è
necessario utilizzare sudo.
I permessi di accesso di prova sono -rw-rw-r--,
che vuol dire accesso in lettura e scrittura per il proprietario e
gli appartenenti al gruppo, accesso solo in lettura per gli altri.
Nessuno ha il permesso di eseguire il file.
La sintassi del comando è: chmod
[ugoa] [+-=] [permessi] [file]
Il primo gruppo di parametri serve ad indicare a quali
tipologia di utenti vogliamo applicare le modifiche di accesso.
u
sta per user, cioè il proprietario del file.
g
sta per group,
cioè il gruppo.
o
sta
per others,
cioè tutti gli altri.
a
sta per all,
tutti senza distinzioni.
Ad
esempio, volendo modificare i permessi di accesso al proprietario e
al gruppo scriveremmo ug,
se invece volessimo modificare i permessi agli altri utenti
scriveremmo o,
se ancora volessimo applicarle a tutti scriveremmo a
oppure ugo.
Il secondo gruppo di parametri serve ad indicare se
vogliamo aggiungere un permesso con + o toglierlo con -.
Nel
terzo gruppo di parametri andremo a specificare quali permessi
vogliamo modificare, quindi r
per lettura, w
per scrittura e x
per esecuzione.
Torniamo
al nostro file d'esempio prova
e poniamo il caso volessimo aggiungere il permesso in scrittura per
tutti gli altri utenti:
sudo chmod o+w prova
Ora i permessi di
prova
saranno -rw-rw-rw-
Problemi con Hard Disk esterni causati dai permessi
di accesso
Se vi è capitato di
collegare un hard disk esterno e questo non appare nell'elenco delle
periferiche nel Nautilus,
mentre su un altro sistema viene riconosciuto senza problemi, allora
potreste avere un problema di permessi di accesso.
Provate a collegare
l'hard disk e poi aprite il Terminale
e digitate il comando:
cd /media
per
impostare come directory corrente /media.
In questa directory troveremo tutte le periferiche collegate
rappresentate da rispettive directory. Proviamo a visualizzarne il
contenuto con le informazioni dettagliate dei proprietari e dei
permessi di accesso con il comando:
ls
-l
Se vedete una
directory con il nome dell'hard disk che il Nautilus
si rifiuta di mostrarvi allora questa è la conferma che il problema
sta nei permessi di accesso.
Qui entra in gioco
il permesso di accesso in esecuzione di cui non abbiamo parlato in
precedenza. Questo permesso, applicato ai file eseguibili, permette
all'utente di avviare l'esecuzione del file. Per i file di tipo
directory invece assume un altro ruolo, cioè permette l'accesso e
l'utilizzo della directory stessa. Se ad esempio utilizziamo il
comando cd
su una directory che non ha il permesso in esecuzione, questo fallirà
e non riuscirà ad impostare la directory corrente.
Detto questo,
torniamo al nostro hard disk che poniamo il caso si chiami esterno.
Se vogliamo che qualunque utente possa accedere all'hard disk
possiamo verificare che i permessi di accesso r
(in lettura) e x
(in esecuzione) siano garantiti a tutti. Se così non fosse possiamo
modificare i permessi di accesso digitando il comando:
sudo
chmod
a+rx
esterno
Ora sul Nautilus
dovreste poter vedere il disco esterno.
In questo breve
tutorial ho parlato molto brevemente dei comandi chown
e chmod,
per ulteriori informazioni dettagliate sulle opzioni e sui parametri
accettati da questi comandi vi consiglio di guardare la
documentazione offerta con il comando man.
Ad esempio digitando
man chown
avrete accesso alla documentazione dettagliata del comando.
Nessun commento:
Posta un commento