Calcolatore chmod per i Permessi dei File Linux
Converti i permessi file Linux tra ottale (755, 644) e simboli rwx online: comandi chmod pronti, avvisi sui modi rischiosi come 777, 100% nel browser.
| Lettura (4) | Scrittura (2) | Esecuzione (1) | Cifra | rwx | |
|---|---|---|---|---|---|
| Proprietario (u) | 7 | rwx | |||
| Gruppo (g) | 5 | r-x | |||
| Altri (o) | 5 | r-x |
- Modo numerico (assoluto)
chmod 755 file- Modo simbolico
chmod u=rwx,go=rx file- Ricorsivo (-R)
chmod -R 755 dir- Solo directory
find dir -type d -exec chmod 755 {} +- Solo file
find dir -type f -exec chmod 644 {} +
Suggerimento: chmod -R u+rwX aggiunge l'esecuzione solo alle directory e ai file già eseguibili — più sicuro di un -R 755 indiscriminato.
Su Linux, un chmod numerico come 755 conserva un setuid/setgid esistente sulle directory — rimuovili esplicitamente con 00755, =755 o u-s,g-s (BSD/macOS li azzera di default).
Modo corrente di un file: stat -c '%a' file (Linux) · stat -f '%Lp' file (macOS)
Calcolatore umask
effective = base & ~umask
Tabella dei permessi file Linux: valori chmod comuni
| Ottale | Simbolico | Uso tipico | Proprietario | Gruppo | Altri |
|---|---|---|---|---|---|
| 400 | r-------- | Chiave privata SSH (sola lettura) | r-- | --- | --- |
| 600 | rw------- | File privati, chiavi SSH | rw- | --- | --- |
| 644 | rw-r--r-- | Pagine web, file di configurazione | rw- | r-- | r-- |
| 664 | rw-rw-r-- | File modificabili dal gruppo | rw- | rw- | r-- |
| 666 | rw-rw-rw- | Chiunque può modificare — da evitare | rw- | rw- | rw- |
| 700 | rwx------ | Directory private | rwx | --- | --- |
| 755 | rwxr-xr-x | Script, directory web | rwx | r-x | r-x |
| 775 | rwxrwxr-x | Directory condivise dal gruppo | rwx | rwx | r-x |
| 777 | rwxrwxrwx | Chiunque può fare tutto — da evitare | rwx | rwx | rwx |
| 1777 | rwxrwxrwt | Directory temporanee condivise (/tmp) | rwx | rwx | rwt |
Le Cifre dei Permessi 0-7 a Colpo d'Occhio
| Cifra | Binario | rwx | Significato |
|---|---|---|---|
| 0 | 000 | --- | Nessun permesso |
| 1 | 001 | --x | Solo esecuzione |
| 2 | 010 | -w- | Solo scrittura |
| 3 | 011 | -wx | Scrittura + esecuzione |
| 4 | 100 | r-- | Sola lettura |
| 5 | 101 | r-x | Lettura + esecuzione |
| 6 | 110 | rw- | Lettura + scrittura |
| 7 | 111 | rwx | Lettura + scrittura + esecuzione |
Cos'è chmod?
chmod — change mode — è il comando Unix e Linux che stabilisce chi può leggere, scrivere o eseguire un file. Ogni file porta con sé nove bit di permesso in tre gruppi (proprietario, gruppo, altri), e chmod li accetta sia come numero ottale in modo numerico (assoluto), come chmod 755, sia come lettere in modo simbolico, come chmod u=rwx,go=rx. Entrambi descrivono esattamente gli stessi bit; questo calcolatore traduce tra i due in tempo reale.
La scorciatoia ottale funziona perché ogni permesso è una potenza di due: lettura vale 4, scrittura 2, esecuzione 1, e una cifra per classe è semplicemente la loro somma. Quindi 7 è tutto (4+2+1), 5 è lettura più esecuzione, 6 è lettura più scrittura e 0 è niente del tutto. Leggi rwxr-xr-x da sinistra a destra a gruppi di tre e ottieni 7, 5, 5. Una quarta cifra iniziale codifica i modi speciali — setuid (4), setgid (2) e sticky bit (1) — ed è così che nascono 4755 o 1777; la loro presenza compare nella stringa simbolica come s o t al posto della x.
I permessi sono il primo strato della sicurezza Unix, e la maggior parte dei problemi di permessi quotidiani si riduce a una manciata di pattern: uno script che non parte ha bisogno dell'esecuzione (u+x), una directory in cui non riesci a entrare è priva del suo bit x, una risorsa web dovrebbe essere 644 con directory 755 sopra di essa, e una chiave privata deve essere 600 prima che OpenSSH accetti di toccarla. Anche gli errori si raggruppano allo stesso modo — il più famigerato è chmod 777, che "risolve" gli errori di accesso consegnando l'accesso in scrittura a ogni account della macchina. Questa pagina tiene in un unico posto l'aritmetica, i simboli, i comandi pronti da eseguire e gli avvisi di rischio, e poiché l'ottale è semplicemente la base 8, puoi esplorare l'aritmetica posizionale sottostante con il convertitore di basi numeriche.
# Make a script executable, then verify with ls -l $ ls -l deploy.sh -rw-r--r-- 1 jack staff 512 Jul 17 10:00 deploy.sh $ chmod 755 deploy.sh $ ls -l deploy.sh -rwxr-xr-x 1 jack staff 512 Jul 17 10:00 deploy.sh # The symbolic equivalent of 755 $ chmod u=rwx,go=rx deploy.sh # Read the current mode as a number $ stat -c '%a' deploy.sh # Linux → 755 $ stat -f '%Lp' deploy.sh # macOS → 755
Caratteristiche Principali
Tre viste, un solo stato
La matrice di caselle, il numero ottale e la stringa simbolica rwx sono tutti input attivi — modifica uno qualsiasi dei tre e gli altri due si adeguano all'istante, in entrambe le direzioni.
Bit speciali fatti bene
setuid, setgid e sticky bit sono di prima classe: la quarta cifra ottale, le regole di maiuscole s/S e t/T e le clausole simboliche corrette (u+s, g+s, a+t) vengono rese esattamente come le intende chmod.
Incolla ls -l così com'è
Trascina un'intera riga di ls -l nel campo simbolico — il carattere del tipo di file, il punto di SELinux, il più delle ACL o la @ di macOS vengono gestiti — e ottieni il modo ottale senza alcun ritaglio manuale.
Comandi che puoi davvero eseguire
Numerico, simbolico, ricorsivo e la coppia più sicura find -type d / find -type f, ognuno con il proprio pulsante di copia — più il comando stat per leggere il modo corrente di un file e la nota GNU sulla rimozione del setuid dalle directory.
Avvisi di rischio mentre digiti
I modi scrivibili da chiunque si accendono immediatamente: 777 e 666 vengono segnalati, qualsiasi bit di scrittura per gli altri alza una bandierina, e 1777 viene correttamente riconosciuto come il pattern con sticky bit delle directory condivise, non come un errore.
umask, tabelle e permalink
Un calcolatore umask integrato mostra cosa riceveranno i nuovi file e le nuove directory, due tabelle di riferimento coprono i modi comuni e le cifre 0-7, e Copia link condivide lo stato esatto — tutto al 100% nel tuo browser.
Esempi di Permessi chmod
755 — lo standard per script e directory web
755
rwxr-xr-x — chmod 755 file · chmod u=rwx,go=rx file
Il modo 755 dà al proprietario il controllo completo (lettura + scrittura + esecuzione = 4 + 2 + 1 = 7), mentre gruppo e altri possono leggere ed eseguire ma mai modificare (4 + 1 = 5). È esattamente ciò che serve a uno script di deploy o a una directory web pubblica: il server può attraversarla e servirne il contenuto, ma solo il proprietario può cambiarlo. Il calcolatore mostra entrambe le forme del comando — il numerico 755 e l'equivalente simbolico u=rwx,go=rx — e la variante solo file scende automaticamente a 644, perché i file regolari non dovrebbero portarsi dietro bit di esecuzione di cui non hanno bisogno.
600 — blinda un file privato al solo proprietario
600
rw------- — il proprietario legge e scrive, tutti gli altri non vedono nulla
Il modo 600 (rw-------) è l'impostazione corretta per chiavi private SSH, file .env, credenziali API e qualsiasi altra cosa che nessun altro account sulla macchina dovrebbe poter aprire. OpenSSH lo impone attivamente: una chiave leggibile dal gruppo o dagli altri viene rifiutata con il celebre errore 'Permissions 0644 ... are too open'. Carica il chip 600, copia chmod 600 file, e il pannello dei rischi resta silenzioso — questa è la base del privilegio minimo fatta bene.
4755 — anatomia del setuid: perché la x diventa una s
4755
rwsr-xr-x — nello slot di esecuzione del proprietario compare s invece di x
Il 4 iniziale è il bit setuid: chiunque avvii il programma, questo viene eseguito con i privilegi del proprietario del file — è così che passwd può aggiornare un file di root per conto di un utente normale. Nella forma simbolica la posizione di esecuzione del proprietario passa da x a s (una s minuscola significa che anche l'esecuzione è attiva; una S maiuscola indicherebbe setuid senza esecuzione, quasi sempre un errore). Il calcolatore rende la quarta cifra ottale, spunta la casella setuid e mostra un avviso informativo, perché gli eseguibili setuid meritano una revisione deliberata.
Decodifica l'output di ls -l — incolla l'intera riga
drwxr-xr-x 5 jack staff 160 Jul 17 dist
755
Copia una riga direttamente dall'output di ls -l e incollala nel campo simbolico — senza bisogno di ritagliarla. Lo strumento legge il primo token drwxr-xr-x, riconosce la d iniziale come carattere del tipo di file (directory) e non come permesso, tollera il punto di SELinux, il segno più delle ACL o la @ di macOS che alcuni sistemi aggiungono, e converte i nove caratteri restanti nell'ottale 755. È il modo più rapido per rispondere a 'che numero è questo permesso?' durante una code review o un incidente, e funziona allo stesso modo con la l dei symlink e il - dei file regolari.
Come Usare il Calcolatore chmod
- 1
Imposta i permessi come preferisci
Spunta le caselle di lettura, scrittura ed esecuzione per classe, digita un modo ottale come 755 o 4755, oppure parti da uno dei chip predefiniti — chiave SSH 400, file privato 600, file web 644, script 755 e altri ancora.
- 2
Leggi le tre viste in contemporanea
La matrice di caselle, il valore ottale e la stringa simbolica rwx restano sincronizzati in ogni direzione, con ogni riga che mostra la propria cifra e la propria terzina di caratteri mentre lavori.
- 3
Copia il comando esatto che ti serve
Cinque varianti pronte da eseguire si aggiornano in tempo reale: il modo numerico, l'equivalente simbolico con raggruppamento intelligente, il ricorsivo -R e la coppia più sicura solo directory / solo file costruita su find -type.
- 4
Decodifica permessi esistenti
Incolla una riga completa di ls -l — carattere del tipo di file, marcatori ACL e tutto il resto — nel campo simbolico e leggi all'istante il valore ottale, bit speciali inclusi.
- 5
Controlla la umask e condividi il risultato
La sezione umask mostra cosa riceveranno i nuovi file e le nuove directory, e Copia link cattura il modo corrente in un URL da inserire in una code review o in un runbook.
Errori Comuni con chmod
Usare 777 per "risolvere" Permission denied
Aprire il modo al mondo intero di solito maschera un problema di proprietà invece di risolverlo — e lascia ogni account della macchina libero di modificare i tuoi file. Correggi prima il proprietario; mantieni il modo stretto.
sudo chmod -R 777 /var/www # l'accesso funziona, la sicurezza è sparita
sudo chown -R www-data:www-data /var/www # correggi la proprietà, mantieni 755/644
chmod -R indiscriminato su una directory di upload
I modi numerici ricorsivi colpiscono file e directory con lo stesso valore, quindi 755 rende 'eseguibile' ogni immagine e documento e 777 li rende scrivibili da chiunque. Dividi invece la ricorsione per tipo.
chmod -R 777 uploads/
find uploads -type d -exec chmod 755 {} + && find uploads -type f -exec chmod 644 {} + Dimenticare che le directory hanno bisogno della x
Il bit x su una directory significa 'può entrare e attraversare'. In una directory 644 non si può fare cd nemmeno per gli utenti che possono elencarla — il che produce confusi errori Permission denied un livello più in profondità.
chmod 644 reports/ # cd reports/ → Permission denied
chmod 755 reports/ # le directory portano la x per poterci entrare
Distribuire uno script senza il bit di esecuzione
Un file appena creato eredita i default della umask come 644, quindi ./script.sh fallisce con Permission denied finché non aggiungi l'esecuzione almeno per il proprietario. I runner CI e gli entrypoint Docker ci sbattono contro in continuazione.
./deploy.sh # bash: ./deploy.sh: Permission denied
chmod u+x deploy.sh && ./deploy.sh
Cosa Puoi Fare con il Calcolatore chmod
- Distribuisci sui server web in sicurezza
- Imposta 755 sulle directory e 644 sui file per le document root di nginx o Apache con i comandi find generati, e lascia che il pannello dei rischi confermi che nulla è scrivibile da chiunque prima del rilascio. Abbinalo al generatore htpasswd quando una directory ha bisogno anche della protezione basic-auth.
- Correggi i permessi delle chiavi SSH
- I chip predefiniti 400 e 600 producono esattamente ciò che OpenSSH pretende per le chiavi private, e la FAQ spiega passo passo il messaggio di errore 'Permissions 0644 ... are too open' che compare quando una chiave resta leggibile dal gruppo.
- Decodifica i permessi durante il triage di un incidente
- Incolla le righe di ls -l da una shell di produzione direttamente nel campo simbolico e trasforma rwxr-sr-x in 2755 senza contare i bit a mente — modi speciali, marcatori ACL e caratteri del tipo di file sono tutti compresi.
- Imposta correttamente i modi su hosting condiviso e FTP
- I pannelli di controllo e i client FTP chiedono modi numerici: 755 per public_html, 644 per le pagine, 600 per i file di configurazione con credenziali. Carica il preset, leggi la tabella, copia il numero — senza tirare a indovinare.
- Prepara container e script CI
- Gli entrypoint e gli script di hook hanno bisogno di u+x prima che Docker o un runner CI possano eseguirli, e i volumi montati ereditano i modi dell'host. Genera qui il chmod esatto per ogni caso, e pianifica i job che li eseguono con il generatore crontab.
Come Funzionano i Permessi dei File in Linux
- L'aritmetica ottale: 4 + 2 + 1
- Ogni classe di utenti riceve una cifra ottale, e la cifra è la somma di lettura = 4, scrittura = 2 ed esecuzione = 1. Esistono tutte e otto le combinazioni: 0 niente, 1 solo esecuzione, 2 solo scrittura, 3 scrittura + esecuzione, 4 sola lettura, 5 lettura + esecuzione, 6 lettura + scrittura, 7 tutte e tre. Un modo come 640 si legge quindi così: proprietario 6 (lettura + scrittura), gruppo 4 (sola lettura), altri 0 (nulla). La tabella delle cifre in questa pagina elenca tutte e otto le righe, e la matrice mostra la stessa somma che si costruisce mentre spunti le caselle.
- Modo numerico (assoluto) vs modo simbolico
- chmod accetta gli stessi bit in due modi. Il modo numerico dichiara il risultato completo — chmod 755 file sostituisce qualunque cosa ci fosse prima. Il modo simbolico descrive un cambiamento relativo allo stato corrente: chmod u=rwx,go=rx file imposta le classi in modo esplicito, mentre chmod g+w file inverte un singolo bit e lascia il resto com'è. Il numerico è ideale per imporre uno stato noto e corretto in script e deployment; il simbolico brilla per i ritocchi una tantum come u+x. Questo calcolatore li emette entrambi, con le classi raggruppate automaticamente (go=rx, a=rwx) come le scrivono gli amministratori esperti.
- setuid, setgid e sticky bit
- Una quarta cifra ottale iniziale codifica i modi speciali: setuid = 4000 esegue un eseguibile con i privilegi del proprietario del file, setgid = 2000 fa lo stesso per il gruppo (e fa ereditare ai nuovi file di una directory il suo gruppo), e lo sticky bit = 1000 su una directory condivisa limita la cancellazione al proprietario di ciascun file — /tmp è il canonico 1777. In ls -l sostituiscono lo slot di esecuzione: s o t minuscole quando anche l'esecuzione è attiva, S o T maiuscole quando non lo è (di solito una configurazione errata che vale la pena controllare). Una sottigliezza di GNU/Linux: il chmod numerico conserva deliberatamente setuid/setgid esistenti sulle directory — rimuovili con un modo a 5 cifre come 00755, una clausola di uguaglianza come =755, oppure u-s,g-s, come documentato nel manuale GNU coreutils. BSD e macOS li azzerano di default con i modi numerici.
- Come la umask modella i nuovi file
- I file appena creati partono dalla base 666 e le directory da 777; la umask del processo spegne poi i bit che contiene — modo effettivo = base & ~umask. La umask predefinita 022 maschera la scrittura di gruppo e altri, producendo i familiari file 644 e directory 755. Una più severa 077 dà 600 e 700, mantenendo tutto privato per il proprietario; una collaborativa 002 dà 664 e 775 così il gruppo può scrivere. La sezione umask di questa pagina esegue il calcolo in tempo reale per entrambe le basi.
Best Practice per i Permessi dei File
- Concedi il privilegio minimo che funziona
- Parti dal modo più stretto e apri solo ciò che si rompe: 600 per i file privati, 644 per quelli a lettura condivisa, 755 solo dove esecuzione o attraversamento servono davvero. Ogni bit di scrittura in più è superficie di attacco.
- Predefinito: file 644 dentro directory 755
- Questo abbinamento copre quasi ogni web root, checkout di repository e scenario di lettura condivisa. I file regolari raramente hanno bisogno dell'esecuzione; le directory ne hanno sempre bisogno per essere aperte — scambiare i due causa la maggior parte degli errori di permessi quotidiani.
- Ricorsione con find -type, non con un -R indiscriminato
- chmod -R 755 marca ogni file come eseguibile. Usa i comandi solo directory e solo file generati da questo strumento, oppure la X maiuscola di GNU chmod (u+rwX,go+rX), che aggiunge l'esecuzione solo dove serve.
- Mai lasciare 777 su qualcosa che un server può raggiungere
- Web root e directory di upload scrivibili da chiunque sono la strada da manuale verso file iniettati e siti deturpati. Se più account devono scrivere, preferisci un gruppo condiviso con 775 o 2775 (il setgid mantiene coerente la proprietà di gruppo) piuttosto che aprire il modo al mondo intero.
- Tieni le chiavi SSH a 600 — o 400 quando sono definitive
- OpenSSH rifiuta categoricamente le chiavi private leggibili dal gruppo o dal mondo. 600 è lo standard operativo; 400 previene in più le sovrascritture accidentali di una chiave che non intendi mai modificare. Le chiavi pubbliche e authorized_keys vanno bene a 644.
Domande Frequenti sul Calcolatore chmod
Cosa significa chmod 777?
chmod 777 è pericoloso?
Qual è la differenza tra chmod 755 e 644?
Come risolvo l'errore "Permissions 0644 for 'id_rsa' are too open"?
Qual è la differenza tra chmod e chown?
Cosa fa chmod +x?
Come applico chmod a tutti i file e le cartelle in modo ricorsivo?
I miei dati vengono caricati quando uso questo calcolatore?
Strumenti correlati
Vedi tutti gli strumenti →Convertitore di Basi Numeriche — Bin, Hex, Ott, Dec
Strumenti di conversione
Converti istantaneamente tra binario, esadecimale, decimale, ottale e qualsiasi base (2-36). Strumento online gratuito e privato: tutta l'elaborazione avviene nel tuo browser.
Convertitore di colori — HEX, RGB, HSL e OKLCH
Strumenti di conversione
Converte HEX in RGB, HSL, OKLCH, OKLAB e CMYK direttamente nel browser — basta un clic per copiare qualsiasi formato. Gratuito, senza registrazione, i colori non lasciano mai la pagina.
Convertitore HEX in CMYK
Strumenti di conversione
Converte colori HEX in CMYK direttamente nel browser. Approssimazione ingenua basata su sRGB per proof di stampa. Gratuito, online, senza registrazione, i colori non lasciano mai la pagina.
Convertitore HEX in HSL
Strumenti di conversione
Converte qualsiasi colore hex in HSL direttamente nel browser — supporta hex a 3, 6 e 8 cifre con alpha. Gratuito, istantaneo, online, senza registrazione, i colori non lasciano mai la pagina.
Convertitore HEX in OKLCH
Strumenti di conversione
Converte HEX in OKLCH per i design token di Tailwind v4. Output live percettivamente uniforme con avvisi di gamma Display P3. Gratis, solo browser.
Convertitore HEX in RGB
Strumenti di conversione
Converte qualsiasi codice colore hex in RGB direttamente nel browser — supporta hex a 3, 6 e 8 cifre con alpha. Gratuito, istantaneo, online, senza registrazione, i colori non lasciano mai la pagina.