Utilia

Calcolatore chmod

Converti i permessi dei file Unix e Linux tra caselle, notazione ottale (755) e simbolica (rwxr-xr-x), con setuid, setgid, sticky bit e comandi chmod pronti.

Permessi
ClasseLettura (4)Scrittura (2)Esecuzione (1)
Proprietario (u)
Gruppo (g)
Altri (o)
Bit speciali

Comandi

Numerico
Simbolico
Come lo mostra ls -l
Modifica relativa da {from}

Chi può fare cosa

    Preimpostazioni comuni

    Come usare il calcolatore chmod

    1. Parti dalla rappresentazione che preferisci: spunta le caselle nella tabella Permessi, scrivi un modo in Ottale (per es. 755 o 4755), oppure incolla una stringa come rwxr-xr-x o drwxr-sr-x (presa direttamente da ls -l) in Simbolico (per es. rwxr-xr-x). Le altre viste si aggiornano all’istante.
    2. Imposta i Bit speciali se ti servono: Setuid (4000), Setgid (2000) o Sticky (1000). A quel punto il modo ottale ha quattro cifre.
    3. Inserisci il Nome del file o della directory, spunta È una directory e Ricorsivo (-R) se serve, e copia il comando Numerico o Simbolico.
    4. Per provare una modifica relativa, scrivila in Modifica simbolica (per es. u+x,go-w) e clicca su Applica la modifica.

    I pulsanti delle Preimpostazioni comuni caricano modi tipici come 644, 600, 755 o 2775. La riga Modifica relativa da … mostra l’espressione chmod che trasforma l’ultima preimpostazione o l’ultimo modo digitato in quello attuale, per esempio a+x per passare da 644 a 755.

    Leggere i permessi Unix

    Ogni file ha tre classi di utenti: il proprietario (u), il gruppo (g) del file e gli altri (o), cioè tutti gli altri. Ogni classe riceve tre permessi, ciascuno con un valore numerico: lettura = 4, scrittura = 2, esecuzione = 1. Sommandoli si ottiene una cifra ottale per classe: rwx = 7, rw- = 6, r-x = 5, r– = 4. Ecco perché rwxr-xr-x corrisponde a 755.

    Su una directory le stesse lettere hanno un significato leggermente diverso, che l’elenco Chi può fare cosa spiega per esteso: r permette di elencare le voci, w permette di creare, rinominare ed eliminare voci (insieme a x), e x permette di entrare nella directory e raggiungere i file al suo interno.

    Bit speciali

    • Setuid (4000) su un eseguibile lo fa girare con i diritti del proprietario del file. passwd lo usa per scrivere nel database delle password. Compare come s al posto dell’esecuzione del proprietario, oppure S se l’esecuzione manca.
    • Setgid (2000) su un eseguibile lo fa girare con i diritti del gruppo. Su una directory, i nuovi file ereditano il gruppo della directory, il che mantiene coerenti le cartelle di progetto condivise (2775).
    • Sticky (1000) su una directory permette solo al proprietario di un file di eliminarlo o rinominarlo, anche quando tutti possono scrivere lì. /tmp ha 1777. Compare come t (o T) al posto dell’esecuzione degli altri.

    Modifiche simboliche

    Un’espressione simbolica è “chi, operatore, permessi”: u+x aggiunge l’esecuzione per il proprietario, go-w toglie la scrittura a gruppo e altri, a=r imposta la sola lettura per tutti, g=u copia i diritti del proprietario sul gruppo. Separa le clausole con le virgole. La X maiuscola aggiunge l’esecuzione solo alle directory o ai file che hanno già un bit di esecuzione, il che rende sicuro chmod -R a+X su un albero di file misti. Quando “chi” è omesso, questo strumento applica la modifica a tutte le classi, come fa GNU chmod con una umask pari a 0.

    Consigli di sicurezza

    Evita 777. Permette a qualsiasi account della macchina, compreso un processo del web server compromesso, di modificare o sostituire il file. Le scelte sicure tipiche sono 644 per i file, 755 per directory e script, 600 per le chiavi private e 700 per le directory private. Il calcolatore ti avvisa in caso di modi scrivibili da tutti, di 777 e di programmi setuid.

    Domande frequenti

    Che differenza c'è tra chmod 755 e chmod 775?

    Con 755 solo il proprietario può scrivere; gruppo e altri possono leggere ed eseguire. 775 dà accesso in scrittura anche al gruppo, il che è adatto alle directory condivise da un team.

    Che permessi deve avere una chiave privata SSH?

    600 (rw-------). OpenSSH si rifiuta di usare una chiave privata leggibile dal gruppo o dagli altri.

    Perché a volte il modo ottale ha quattro cifre?

    La prima cifra contiene i bit speciali: 4 per setuid, 2 per setgid, 1 per sticky. 0755 e 755 sono lo stesso modo.

    chmod 644 funziona su una directory?

    Imposta i bit, ma senza x nessuno può entrare nella directory né aprire i suoi file. Per le directory usa 755 o 750.

    Cosa significa una S o una T maiuscola in ls -l?

    Il bit speciale è impostato, ma il bit di esecuzione corrispondente no. Di solito è un errore: aggiungi il permesso di esecuzione oppure togli il bit speciale.