1. La Sicurezza nei Sistemi Multiutente
Nei moderni sistemi operativi, in particolare quelli di derivazione UNIX e Linux, la condivisione delle risorse hardware e software impone rigidi meccanismi di controllo degli accessi. Il file system non deve solo memorizzare i dati, ma anche garantire che ogni utente possa accedere unicamente alle informazioni per cui dispone delle necessarie autorizzazioni.
2. Il Modello Classico UGO (User, Group, Others)
Il sistema di protezione standard suddivide i soggetti autorizzati ad accedere a un file o a una directory in tre categorie distinte:
- User (U - Proprietario): L'utente che ha creato il file o a cui è stato assegnato il possesso esclusivo. Dispone tipicamente del massimo livello di controllo sul proprio elemento.
- Group (G - Gruppo): Un insieme di utenti che condividono lo stesso contesto di lavoro (es. reparto di sviluppo o classe scolastica). I membri del gruppo ereditano i permessi collettivi associati al file.
- Others (O - Altri / Mondo): Qualsiasi altro utente del sistema che non rientra nelle prime due categorie. Per ragioni di sicurezza, i permessi di questa categoria sono solitamente molto restrittivi.
Per ciascuna di queste tre categorie, il sistema operativo valuta tre operazioni fondamentali (permessi base):
- Lettura (Read - r): Consente di aprire e leggere il contenuto di un file, oppure di elencare il contenuto di una directory.
- Scrittura (Write - w): Consente di modificare, aggiornare o cancellare il file, oppure di creare/eliminare file all'interno di una directory.
- Esecuzione (Execute - x): Consente di eseguire un file come programma/script, oppure di attraversare (entrare in) una directory.
I permessi possono essere espressi in formato simbolico (es. rwxr-xr--) oppure in
formato numerico/ottale, sommando i valori binari associati a ciascun permesso:
- Read (r) = 4
- Write (w) = 2
- Execute (x) = 1
Esempio: chmod 750 file.sh assegna al proprietario 7 (4+2+1: rwx), al gruppo 5 (4+0+1:
r-x) e agli altri 0 (---).
3. Access Control Lists (ACL)
Sebbene il modello UGO sia efficiente e compatto, risulta rigido quando si desidera concedere permessi specifici a un singolo utente esterno al gruppo di appartenenza. Per superare questo limite, i file system moderni supportano le ACL (Access Control Lists), tabelle estese che permettono di associare regole di accesso granulari a singoli utenti o gruppi aggiuntivi oltre ai tre ruoli tradizionali.
4. Simulatore Interattivo: Calcolatore e Verificatore di Permessi
Seleziona una configurazione di permessi o una combinazione ottale per verificarne l'effetto pratico sul controllo degli accessi.