5.1 Sicurezza nel filesystem (i diritti d’accesso)

Dalla directory corsolinux, digita

ls -ls

Vedrai che ora otterrai maggiori informazioni sul contenuto della directory, come nell’esempio sotto

-rwxrw-r-- 1 stefano users 2450 Sept 29 11:52 file1

A ciascun file (e directory) sono associati i diritti d’accesso, che si possono sapere digitando appunto ls -l.

Nella colonna a sinistra c’è un gruppo di 10 lettere che consistono nei simboli d, r, w, x, , e, occasionalmente, s o S. Se la lettera d è presente all’inizio di questa sequenza allora significa che si tratta di una directory, altrimenti è il simbolo con cui inizia la stringa.

Le rimanenti 9 lettere indicano i permessi, o i diritti d’accesso, e sono in gruppi di 3.

  • il gruppo a sinistra mostra i permessi dell’utente cui appartiene il file o la directory (stefano nell’esempio precedente);
  • il gruppo centrale mostra i permessi per il gruppo di utenti a cui il file o la directory appartiene (users nell’esempio precedente);
  • il gruppo più a destra mostra i permessi per tutti gli altri.

Le lettere r, w, ecc., hanno significati leggermente diversi a seconda se si riferiscono a un semplice file o a una directory.

Diritti d’accesso ai file

  • r (o -), indica il permesso di lettura (o la sua assenza), cioè la presenza o l’assenza del permesso di leggere e copiare il file
  • w (o -), indica il permesso di scrittura (o la sua assenza), cioè la presenza o l’assenza del permesso di modificare il file
  • x (o -), indica il permesso di esecuzione (o la sua assenza), cioè il permesso di eseguire un file, ove appropriato

Diritti d’accesso alle directory

  • r consente agli utenti di elencare i file nella directory;
  • w indica che gli utenti possono eliminare i file dalla directory o spostarli in essa;
  • x indica il diritto di accedere ai file nella directory. Ciò implica che puoi  leggere i file nella directory purché tu abbia il permesso di lettura sui singoli file.

Quindi, per leggere un file, devi avere il permesso di usare la directory (x) che contiene quel file, nonché su qualsiasi directory che contiene quella directory come sottodirectory, e così via, risalendo l’albero.

Alcuni esempi

-rwxrwxrwx un file che tutti possono leggere, scrivere ed eseguire (ed eliminare).
-rw——- un file che solo il proprietario può leggere e scrivere – nessun altro può leggere o scrivere e nessuno ha diritti di esecuzione (ad esempio, il file della tua mailbox)

5.2 Cambiare i diritti d’accesso

chmod (cambiare le modalità di accesso ad un file)

Solo il proprietario del file può usare chmod per cambiare i permessi di un file. Le opzioni di chmod sono le seguenti.

Carattere

Significato

u

utente

g

gruppo

o

gli altri

a

tutti

r

lettura

w

scrittura (e cancellazione)

x

esecuzione (e accesso alle directory)

+

aggiungi un permesso

rimuovi un permesso

Per esempio: rimuovere i pemessi di scrittura, lettura ed esecuzione del file listagrande, per il gruppo e per gli altri, digitando

chmod go-rwx listagrande

Il comando lascierà gli altri permessi inalterati.

Per assegnare i permessi di lettura e scrittura al file listagrande a tutti:

chmod a+rw listagrande

Prova a cambiare i permessi del file science.txt e della directory backups

Usa ls -l to check per verificare i permessi che ha.

Sommario

Comando

Significato

ls -lag visualizza i diritti di accesso a tutti i file 
chmod [options] file cambia i diritti di accesso per il file citato 

 

whitone@netstudent.polito.it, © 25 febbraio 2009
m.stonebank@surrey.ac.uk, © 9 ottobre 2000
Questa esercitazione è rilasciata sotto Creative Commons License.