Encoders & Utilities

Calcolatore Chmod

Converti tra permessi UNIX numerici e simbolici.

Permissions Type octal (e.g. 755 or 4755) or symbolic (rwxr-xr-x).
-rwxrwxrwt
chmod 1777
Octal
1777
Symbolic
-rwxrwxrwt
Binary
111 111 111
Permission matrix
Read
Write
Execute
Owner
r
w
x
Group
r
w
x
Other
r
w
x
Special bits
setuid
Run as file owner. Common on /usr/bin/passwd.
setgid
Inherit group on directories. Used in shared folders.
sticky
Only owner can delete. Used on /tmp.

Informazioni su questo strumento

Chmod Calculator traduce tra i tre modi di esprimere i permessi dei file UNIX: ottale (755, 644), simbolico (rwxr-xr-x, rw-r--r--) e modalità simbolica (u=rwx,go=rx, la forma che chmod stesso accetta come input). Clicca le checkbox di read/write/execute per owner/group/other e le tre rappresentazioni si aggiornano in sincronia, con il comando chmod equivalente mostrato pronto da copiare.

Sono supportati anche i bit speciali: setuid (4000), setgid (2000) e sticky (1000) — i bit che trasformano /tmp in una directory scrivibile condivisa dove gli utenti non possono eliminare i file degli altri (sticky), e che permettono a binari come passwd di elevare i privilegi (setuid). Il display annota ciascuno con la sua implicazione di sicurezza così sai cosa stai per applicare.

Quando usare questo strumento

  • Hardening di alberi di file di un web server. Conferma 644 per i file e 755 per le directory prima di modificare qualsiasi cosa con chmod -R.
  • Troubleshooting di "permission denied". Decodifica il risultato di ls -l in ottale per confrontarlo con ciò che la tua app si aspetta.
  • Configurazione di directory condivise. Ottieni la combinazione sticky-bit giusta (1777) per una cartella di upload multi-utente.
  • Imparare i permessi UNIX. Le checkbox interattive dei bit sono il modo più rapido per capire come l'ottale si mappa a rwx.

Su umask e permessi predefiniti

L'umask è l'inverso dell'output del calcolatore — dice al kernel quali bit spegnere quando viene creato un nuovo file o una nuova directory. Un comune umask 022 ti dà file 644 e dir 755 per default; un più rigoroso umask 077 dà file 600 e dir 700 (privati al proprietario). Scegliere l'umask giusto a livello di sistema è più efficiente che fare chmod su ogni file individualmente.

Domande frequenti

Qual è la differenza tra 644 e 755?

644 è "il proprietario legge/scrive, tutti gli altri solo leggono" — il default giusto per file statici (HTML, CSS, immagini). 755 aggiunge execute per tutti, che è privo di senso per file statici ma essenziale per le directory (senza execute su una directory, non puoi cd dentro) e per script/binari. La regola pratica: 644 per i file, 755 per le directory.

Cosa fa effettivamente setuid?

Dice al kernel "quando questo binario viene eseguito, eseguilo come il proprietario del file, non come l'utente che lo invoca". /usr/bin/passwd ha setuid root così un utente normale può cambiare la propria password (che richiede di scrivere in /etc/shadow). È un permesso potente ma pericoloso; solo i binari di sistema dovrebbero averlo, mai gli script utente. Gli script shell ignorano setuid per ragioni di sicurezza nei UNIX moderni.

Perché l'execute è necessario sulle directory?

Su una directory, il bit execute significa "puoi entrare (attraversare) questa directory". Senza execute non puoi fare cd nella cartella, elencarne il contenuto (con ls serve anche il read) o leggere alcun file all'interno anche se quei file hanno permesso di lettura. Una directory con modalità sola lettura (444) è rotta — puoi vedere i nomi ma non puoi fare stat di nessuno di essi.

A cosa serve il bit sticky?

Su una directory significa "solo il proprietario del file (o root) può eliminarlo o rinominarlo". /tmp usa 1777 — tutti possono scrivere, ma puoi rimuovere solo i tuoi file. Senza sticky, chiunque potrebbe fare rm sui file temporanei di chiunque. Il bit viene da un uso legacy su eseguibili (manteneva il testo in swap), ora obsoleto sui file; sulle directory è ancora molto utile.