ACL Linux: storia, concetti e uso pratico
ACL Linux per WordPress e MediaWiki: guida pratica e storia
Le ACL (Access Control List) in Linux servono quando i permessi classici ``rwx`` per owner/group/others non bastano.
In un server con WordPress e MediaWiki, le ACL permettono di assegnare permessi mirati a utenti tecnici (es. deploy) senza aprire tutto con ``chmod 777``.
Cosa sono le ACL Linux
Le ACL estendono il modello Unix tradizionale con regole aggiuntive per utenti e gruppi specifici.
Comandi base:
- ``getfacl``: legge ACL correnti
- ``setfacl``: aggiunge/modifica/rimuove ACL
Perche sono utili su WordPress e MediaWiki
Scenario tipico: web server con utente ``www-data`` e uno o piu utenti operativi. Senza ACL si finisce spesso tra due estremi:
- permessi troppo stretti (operazioni bloccate)
- permessi troppo larghi (rischio sicurezza)
Con ACL si applica il principio del minimo privilegio.
Esempio WordPress
Consentire a ``deploy`` scrittura solo su uploads:
<syntaxhighlight lang="bash"> sudo setfacl -R -m u:deploy:rwx /var/www/wordpress/wp-content/uploads sudo setfacl -R -m d:u:deploy:rwx /var/www/wordpress/wp-content/uploads </syntaxhighlight>
La regola ``d:`` imposta ACL di default per file/cartelle creati in futuro.
Esempio MediaWiki
Gestire upload in ``images`` con permessi mirati:
<syntaxhighlight lang="bash"> sudo setfacl -R -m u:deploy:rwx /var/www/mediawiki/images sudo setfacl -R -m d:u:deploy:rwx /var/www/mediawiki/images </syntaxhighlight>
Verifica
<syntaxhighlight lang="bash"> getfacl /var/www/wordpress/wp-content/uploads getfacl /var/www/mediawiki/images </syntaxhighlight>
Nota: controllare sempre la voce mask, perche puo limitare i permessi effettivi.
Buone pratiche
- evitare ``777``
- applicare ACL solo dove necessario
- usare ACL di default sulle directory con contenuti dinamici
- verificare ACL durante audit periodici
- documentare le regole operative
Storia delle ACL: quando sono nate
Timeline essenziale:
- Anni 60-70: concetti ACL in sistemi multiutente storici
- Anni 90: sviluppo estensioni sicurezza IEEE POSIX 1003.1e
- Ottobre 1997: riferimento tecnico nella bozza POSIX.1e Draft 17
- Gennaio 1998: processo standard POSIX.1e ritirato, ma il modello ACL continua a essere usato
- Novembre 2002: ACL POSIX integrate nel kernel Linux 2.5.46 (ramo di sviluppo)
- Dal 2003 in poi: adozione ampia sui filesystem Linux server (ext*, XFS, altri)
In pratica, anche senza standard finale ratificato, le ACL Linux sono diventate uno strumento stabile e diffuso.