ACL Linux: storia, concetti e uso pratico

Da GazziNet.
Versione del 20 mar 2026 alle 10:08 di Admin (discussione | contributi) (Contenuto reso generico: storia e uso ACL Linux)
Vai alla navigazione Vai alla ricerca

Introduzione

Le ACL (Access Control List) in Linux estendono il modello classico dei permessi Unix e consentono un controllo accessi piu granulare.

Quando owner, group e others non bastano, le ACL permettono di assegnare regole specifiche a singoli utenti o gruppi mantenendo il principio del minimo privilegio.

Concetti base

Nel modello standard Unix hai tre classi di permessi:

  • proprietario
  • gruppo
  • altri

Con le ACL puoi aggiungere entry dedicate, ad esempio per dare accesso a un utente tecnico senza cambiare proprietario della risorsa.

Comandi principali:

  • getfacl per leggere ACL correnti
  • setfacl per creare/modificare/rimuovere ACL

Esempi pratici

Concedere permessi a un utente specifico

<syntaxhighlight lang="bash"> sudo setfacl -m u:deploy:rwx /srv/progetto/shared </syntaxhighlight>

Definire ACL di default su una directory

Le ACL di default vengono ereditate da nuovi file e directory creati al suo interno.

<syntaxhighlight lang="bash"> sudo setfacl -m d:u:deploy:rwx /srv/progetto/shared </syntaxhighlight>

Verificare ACL effettive

<syntaxhighlight lang="bash"> getfacl /srv/progetto/shared </syntaxhighlight>

Nota: la voce mask puo limitare i permessi realmente applicati.

Relazione con chmod

ACL e permessi tradizionali convivono. Dopo modifiche con chmod, e buona pratica controllare sempre il risultato con getfacl per verificare eventuali effetti sulla maschera ACL.

Quando usare le ACL

  • ambienti multiutente
  • directory condivise con esigenze di accesso diverse
  • casi in cui si vogliono evitare permessi eccessivamente ampi (es. 777)
  • sistemi in cui serve tracciare policy accessi piu rigorose

Storia delle ACL

Timeline essenziale:

  • Anni 60-70: concetti ACL gia presenti in sistemi multiutente storici
  • Anni 90: sviluppo delle estensioni sicurezza IEEE POSIX 1003.1e
  • Ottobre 1997: riferimento tecnico nella bozza POSIX.1e Draft 17
  • Gennaio 1998: standardizzazione POSIX.1e ritirata; il modello ACL continua comunque a essere implementato
  • Novembre 2002: supporto ACL POSIX incluso nel kernel Linux 2.5.46 (ramo di sviluppo)
  • Dal 2003 in poi: adozione ampia nei filesystem Linux usati in produzione

In sintesi, pur senza standard finale ratificato, le ACL sono diventate uno strumento consolidato nell'amministrazione Linux.

Buone pratiche

  • applicare ACL solo dove necessario
  • documentare le regole nei runbook operativi
  • verificare periodicamente configurazioni e ereditarieta
  • mantenere un approccio minimo privilegio

Fonti