Come funziona
In Unix e Linux ogni file ha permessi per tre classi: l'utente proprietario, il gruppo e il resto ("altri"). Ogni classe può avere tre permessi: lettura (r), scrittura (w) ed esecuzione (x). chmod è il comando che li modifica.
I permessi si rappresentano in due modi equivalenti: numerico (ottale) e simbolico. In ottale ogni classe è una cifra da 0 a 7, somma di 4 (lettura) + 2 (scrittura) + 1 (esecuzione). In simbolico si scrivono come nove caratteri, ad esempio rwxr-xr-x.
Una quarta cifra iniziale controlla i bit speciali: setuid (4), setgid (2) e sticky (1). Questo strumento converte in entrambe le direzioni: spunta i permessi con le caselle per ottenere l'ottale, la notazione simbolica e il comando pronto da copiare, oppure incolla un valore per vederlo riflesso.
Esempi
755rwxr-xr-xIl proprietario può leggere, scrivere ed eseguire; il gruppo e gli altri solo leggere ed eseguire. Tipico di directory e script.644rw-r--r--Il proprietario legge e scrive; il gruppo e gli altri solo leggono. Comune nei file di dati e di configurazione.600rw-------Solo il proprietario può leggere e scrivere; nessun altro ha accesso. Consigliato per le chiavi private.4755rwsr-xr-xLa prima cifra 4 attiva setuid: il programma viene eseguito con i privilegi del proprietario del file.Casi d'uso
- Dare il permesso di esecuzione a uno script (chmod 755) o limitare un file con dati sensibili (chmod 600).
- Tradurre tra il numero ottale di un tutorial e ciò che mostra ls -l, senza calcolare i bit a mano.
- Capire quali permessi concede realmente un comando prima di eseguirlo su un server.
Domande frequenti
Perché 755 sono solo tre cifre e a volte ne compaiono quattro?
Le tre cifre rappresentano utente, gruppo e altri. La quarta cifra, opzionale e all'inizio, controlla i bit speciali (setuid, setgid, sticky); se vale 0 viene omessa, per questo 0755 e 755 sono la stessa cosa.
Cosa significano la s e la t in rwsr-xr-t?
Sostituiscono la x per indicare un bit speciale. La s nel blocco dell'utente è setuid, in quello del gruppo è setgid; la t in quello degli altri è lo sticky bit. In maiuscolo (S/T) il bit è attivo ma senza permesso di esecuzione.
Qual è la differenza tra chmod 755 e chmod u=rwx,g=rx,o=rx?
Nessuna: producono esattamente gli stessi permessi. La forma ottale è più compatta e quella simbolica più leggibile. chmod accetta anche modifiche relative come u+x (aggiungere l'esecuzione al proprietario) senza toccare il resto.
Quali permessi deve avere una chiave SSH privata?
600 (rw-------). SSH rifiuta di usare una chiave privata se il gruppo o altri possono leggerla. La cartella ~/.ssh di solito usa 700.