Linux Permissions: chown, chmod e ACL spiegati per sempre
Le permessi di file e directory in Linux sono uno dei concetti fondamentali che ogni amministratore e developer deve padroneggiare. Se sei stanco di fare trial-and-error con chmod 777, è il momento di capire davvero come funziona il sistema di permessi di Linux e come usare chown, chmod e ACL in modo intelligente.
Il fondamentale: lettura, scrittura ed esecuzione
Ogni file in Linux ha tre categorie di permessi: lettura (r = 4), scrittura (w = 2) ed esecuzione (x = 1). Questi si applicano a tre entità: owner (proprietario), group (gruppo) e others (altri utenti).
Quando digiti ls -l, vedi stringhe come -rw-r--r--. Il primo carattere indica il tipo (file o directory), poi 9 caratteri divisi in tre gruppi di tre. Per esempio:
rw-= proprietario può leggere e scrivere (6)r--= gruppo può solo leggere (4)r--= altri possono solo leggere (4)
Quindi -rw-r--r-- è equivalente a 644. Semplice, una volta che lo capisci.
chmod: modificare i permessi con precisione
chmod è il comando per cambiare i permessi. Hai due modalità:
Modo numerico (octalico): chmod 755 script.sh imposta il file con rwxr-xr-x. Questa è la forma veloce, perfetta per automazione.
Modo simbolico: chmod u+x script.sh aggiunge il permesso di esecuzione al proprietario. È più leggibile e preciso:
u= user (proprietario)g= groupo= othersa= all (tutti)
Per ricorsività, aggiungi il flag -R: chmod -R 755 /var/www/. Ma attento: non usare mai 777 in produzione se non sai esattamente perché lo stai facendo.
chown: cambiare proprietario e gruppo
chown cambia il proprietario di un file. Solo root può eseguirlo:
chown utente:gruppo file.txt assegna il file a un utente specifico e al suo gruppo. Puoi anche omettere il gruppo se vuoi solo cambiare l'utente.
Anche qui, -R funziona ricorsivamente. Un caso comune: chown -R www-data:www-data /var/www/html per dare i permessi al web server.
ACL: quando i permessi classici non bastano
Per scenari complessi, le ACL (Access Control Lists) offrono granularità senza pari. Invece di limitarsi a owner/group/others, puoi assegnare permessi a utenti e gruppi specifici:
setfacl -m u:username:rwx file.txt aggiunge permessi per uno specifico utente. Per visualizzare: getfacl file.txt.
Le ACL sono essenziali in ambienti enterprise dove diversi team hanno accesso a risorse condivise. Tuttavia, aumentano la complessità: usale solo quando necessario.
Conclusione
Padroneggiare questi tre strumenti—chmod per i permessi, chown per la proprietà, e ACL per casi avanzati—ti farà risparmiare ore di debugging in produzione. Non è magia: è comprensione pura del sistema.
Qual è il tuo scenario più complesso di permessi? Condividilo nei commenti o raccontaci come hai risolto problemi di accesso nei tuoi server. E se trovi utile questo articolo, salvalo nei bookmark: tornerai a leggerlo.
💬 Commenti (0)
Nessun commento ancora. Sii il primo!