Senza categoria

ACL Linux: storia, concetti e uso pratico

Le ACL (Access Control List) in Linux estendono i permessi classici Unix e permettono di gestire accessi in modo piu granulare. Sono utili quando il modello tradizionale owner/group/others non basta.

Cosa sono le ACL

Nel modello classico, ogni file o directory ha permessi per tre classi: proprietario, gruppo, altri. Le ACL aggiungono regole dedicate a utenti o gruppi specifici, mantenendo una gestione piu precisa del principio del minimo privilegio.

Comandi principali:

  • getfacl per leggere ACL correnti
  • setfacl per impostare, modificare o rimuovere ACL

Quando usare le ACL

  • quando piu utenti devono accedere alla stessa directory con permessi diversi
  • quando serve concedere eccezioni senza cambiare proprietario o gruppo principale
  • quando vuoi evitare permessi troppo larghi come 777
  • quando devi mantenere policy di sicurezza piu rigorose in ambienti multiutente

Esempi pratici

Concedere accesso a un utente specifico

sudo setfacl -m u:deploy:rwx /srv/progetto/shared

Impostare ACL di default su una directory

Le ACL di default si applicano ai nuovi file e directory creati al suo interno:

sudo setfacl -m d:u:deploy:rwx /srv/progetto/shared

Verificare ACL effettive

getfacl /srv/progetto/shared

Attenzione alla voce mask: puo limitare i permessi effettivi anche quando una regola sembra piu permissiva.

Relazione con chmod e permessi tradizionali

ACL e permessi classici convivono. Se usi chmod, la maschera ACL puo essere aggiornata e influenzare l’accesso reale. Per questo e importante verificare sempre con getfacl dopo modifiche di permessi.

Storia delle ACL in breve

  • Anni 60-70: primi modelli ACL in sistemi multiutente storici.
  • Anni 90: sviluppo delle estensioni sicurezza nel progetto IEEE POSIX 1003.1e.
  • Ottobre 1997: riferimento tecnico nella bozza POSIX.1e Draft 17.
  • Gennaio 1998: il percorso di standardizzazione POSIX.1e viene ritirato, ma il modello ACL continua a essere adottato.
  • Novembre 2002: supporto ACL POSIX incluso nel kernel Linux 2.5.46 (ramo di sviluppo).
  • Dal 2003 in poi: diffusione nei filesystem Linux usati in produzione (ext*, XFS e altri).

In pratica, pur senza uno standard finale ratificato, le ACL Linux sono diventate uno strumento stabile nell’amministrazione di sistemi Unix-like.

Buone pratiche

  • applicare ACL solo dove necessario
  • documentare le regole in runbook operativi
  • verificare periodicamente con audit dei permessi
  • preferire approccio minimo privilegio rispetto a scorciatoie permissive

Fonti