Last update Marzo 1, 2024 11:52 AM

 

 


Personal Website


Articoli / Articles
   

Pagina Iniziale Home Page

Informazioni About Me

Curriculum Vitae Resume
Attività Activities
Didattica Teaching
Guide Tutorials
Articoli Articles
Libri Books

Contatti Contacts
     
     
 
     
 

La maschera dei permessi in ambiente Linux
di Roberto Saia

Uno strumento alquanto prezioso nell'ambito della sicurezza dei sistemi è la cosiddetta maschera dei permessi, strumento con il quale è possibile amministrare i privilegi su file e cartelle. Il suo utilizzo è possibile avvalendosi del comando umask, comando che consente di stabilire quali permessi, per impostazione predefinita, devono essere negati agli utenti nel momento della creazione di un nuovo file/cartella, cioè quali devono essere le caratteristiche dell'oggetto creato in relazione ai permessi, quando questi ultimi non sono esplicitamente definiti.

Da ciò si evince come questo meccanismo risulti efficiente soltanto sugli oggetti (file e cartelle) di nuova creazione piuttosto che su quelli già esistenti e, altro importante aspetto, di come umask non sia in grado di definire i privilegi da concedere, in quanto mirato esclusivamente a definire soltanto ciò che, invece, deve essere espressamente vietato agli utenti (proprietario, gruppo e altri). Per verificare la configurazione corrente di umask è sufficiente digitare al terminale il comando senza l'aggiunta di ulteriori parametri:

umask

il risultato che si otterrà sarà tipicamente il numero 0022 che nell'attribuzione ottale dei permessi (brevemente sintetizzata nella successiva tabella 1, dove r, w, x indicano, rispettivamente, i permessi di lettura, scrittura ed esecuzione) equivale a negare i permessi di scrittura al gruppo e agli altri utenti, concedendo tale privilegio solo all'utente proprietario del file/cartella.

Tabella 1 - Schema di attribuzione dei permessi.

Proprietario

Gruppo

Altri

r

w

x

r

w

x

r

w

x

4

2

1

4

2

1

4

2

1

Le ultime tre cifre del numero gestito da umask si riferiscono quindi, rispettivamente, all'utente proprietario, al gruppo e a tutti gli altri utenti: il peso binario attribuibile a ciascuno di essi, che come visibile nella precedente tabella è articolato su 3 bit e quindi può assumere valori compresi tra 0 e 7. Al fine di rendere maggiormente comprensibile la visualizzazione delle impostazioni della maschera dei permessi predefinita, è possibile far seguire il comando umask dall'opzione -S:

umask -S

che nel precedente caso, con una maschera dei permessi pari a 0022, fornirà le seguenti informazioni,

u=rwx,g=rx,o=rx

mostrando chiaramente quanto detto in precedenza, cioè che per impostazione predefinita all'utente proprietario (u) non verrà negato alcun permesso (rwx), mentre al gruppo (g) e a tutti gli altri utenti (o) verrà negato soltanto il permesso di scrittura (rx) Per intervenire sulla maschera dei permessi attuale occorre invocare il comando umask seguito dalla nuova maschera, ricordandosi sempre che il suo utilizzo non consente di stabilire cosa concedere bensì cosa negare e quindi, ipotizzando che alla creazione dell'oggetto si desiderino concedere tutti i privilegi (rwx) all'utente proprietario, i soli privilegi di lettura ed esecuzione (rx) al gruppo e il solo il privilegio di lettura (r) ai rimanenti utenti, occorrerà operare in questo modo:

umask 0023

che, in accordo al nostro precedente obiettivo, equivale a non negare nulla al proprietario (0), negare i permessi di scrittura al gruppo (2) e quelli di scrittura ed esecuzione ai rimanenti utenti (3), cioè:

u=rwx,g=rx,o=r

Possiamo verificare il corretto esito del comando precedentemente invocato creando un nuovo file (che denomineremo myfile) con il comando touch e visualizzandone subito dopo i relativi permessi:

touch myfile

ls -l myfile

il risultato del comando ls, relativamente ai permessi, dovrebbe confermare la effettiva modifica precedentemente operata sui permessi predefiniti.

Abbiamo più volte evidenziato come il comando umask sia efficace soltanto sui file/cartelle di nuova creazione, mentre sia inefficace su quelli già esistenti, sui quali si potrà comunque intervenire efficacemente per mezzo del comando chmod, comando operante in modo speculare a umask (in quanto interviene sui permessi da concedere e non quelli da negare), la quale sintassi è stata già descritta all'interno di un altro articolo.

 

Sebbene il contenuto delle guide, seppur in forma sintetica e/o adattata al contesto, sia tratto dai miei libri/eBook, l'occasionalità e i rapidi tempi di stesura che ne caratterizzano la pubblicazione non garantiscono l'assenza di errori e/o omissioni.

Ritorna all'indice dei tutorial Index


 
Roberto Saia  -  All Rights Reserved