Skip to content

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.

Niente tracciamento Funziona nel browser Gratuito
Tutto viene eseguito localmente nel tuo browser — i permessi che inserisci non lasciano mai questo dispositivo.
Permessi comuni
Matrice dei permessi
Lettura (4)Scrittura (2)Esecuzione (1) Cifra rwx
Proprietario (u) 7 rwx
Gruppo (g) 5 r-x
Altri (o) 5 r-x
Bit speciali
Comando chmod
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

Nuovi file (base 666)
644 · rw-r--r--
Nuove directory (base 777)
755 · rwxr-xr-x

effective = base & ~umask

Tabella dei permessi file Linux: valori chmod comuni

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

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
Revisionato rispetto alla semantica POSIX di chmod e al manuale GNU coreutils; maiuscole s/S e t/T, ordine delle clausole e comportamento GNU di conservazione di setuid/setgid sulle directory verificati sulle fonti primarie — Team di Ingegneria Go Tools · Jul 17, 2026

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. 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. 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. 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. 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. 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.

✗ Errato
sudo chmod -R 777 /var/www   # l'accesso funziona, la sicurezza è sparita
✓ Corretto
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.

✗ Errato
chmod -R 777 uploads/
✓ Corretto
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à.

✗ Errato
chmod 644 reports/   # cd reports/ → Permission denied
✓ Corretto
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.

✗ Errato
./deploy.sh   # bash: ./deploy.sh: Permission denied
✓ Corretto
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?
Concede lettura, scrittura ed esecuzione a tutti — proprietario, gruppo e tutti gli altri utenti allo stesso modo. Ogni cifra è la somma di lettura (quattro), scrittura (due) ed esecuzione (uno) per una classe di utenti, e il valore massimo in ogni posizione significa che nessuno è limitato in alcun modo. In forma simbolica è rwxrwxrwx. Esistono usi legittimi, ma sono rari e riguardano quasi sempre directory, non file; quando un tutorial ti dice di fare chmod 777 su qualcosa per "farlo funzionare", il problema reale è quasi sempre la proprietà del file, e chown è la correzione giusta.
chmod 777 è pericoloso?
Su qualsiasi cosa raggiungibile da altri utenti o da un server web, sì: 777 significa che qualunque account del sistema — incluso un account di servizio compromesso — può sostituire il contenuto del file o depositare nuovi file nella directory. Le document root di server web impostate a 777 sono la strada classica verso siti deturpati e malware iniettato. L'eccezione che conferma la regola è 1777: aggiungere lo sticky bit, come fa /tmp, permette a tutti di creare file impedendo però agli utenti di cancellare quelli degli altri — questo calcolatore segnala il 777 semplice come un rischio, ma riconosce 1777 come il pattern standard delle directory condivise.
Qual è la differenza tra chmod 755 e 644?
Il bit di esecuzione. 755 (rwxr-xr-x) permette a tutti di eseguire o attraversare, che è ciò che serve a directory, script e binari; 644 (rw-r--r--) è la stessa cosa senza alcun permesso di esecuzione, ed è la scelta giusta per i file regolari come pagine HTML, immagini e file di configurazione. L'abbinamento classico è 755 per ogni directory e 644 per ogni file al suo interno — i comandi solo file e solo directory generati da questo calcolatore producono esattamente quella suddivisione con find -type d e find -type f.
Come risolvo l'errore "Permissions 0644 for 'id_rsa' are too open"?
Esegui chmod 600 ~/.ssh/id_rsa e riconnettiti. OpenSSH si rifiuta di usare una chiave privata che qualsiasi altro account potrebbe leggere: stampa il banner WARNING: UNPROTECTED PRIVATE KEY FILE!, la riga Permissions 0644 for '/home/user/.ssh/id_rsa' are too open., dichiara che private key files must NOT be accessible by others, e poi ignora la chiave — il che si manifesta come una richiesta di password improvvisa o come Load key ... bad permissions. Il modo 600 (rw-------) soddisfa il controllo; anche 400 (r--------) funziona e in più protegge da sovrascritture accidentali. Vedi il manuale di OpenSSH per i requisiti dei file chiave.
Qual è la differenza tra chmod e chown?
chmod cambia cosa possono fare con un file il proprietario, il gruppo e gli altri già esistenti — i suoi bit di permesso. chown cambia chi sono effettivamente il proprietario e il gruppo. Risolvono problemi diversi: se un server web non riesce a scrivere nella propria directory di upload, la soluzione è di solito chown www-data:www-data sulla directory, non allentare i permessi per il mondo intero con chmod. Una buona abitudine quando qualcosa è inaspettatamente illeggibile: controlla prima la proprietà con ls -l, decodifica il modo (incolla la riga in questo calcolatore) e solo allora decidi quale dei due comandi richiede la situazione.
Cosa fa chmod +x?
Aggiunge il bit di esecuzione per le classi di utenti non mascherate dalla tua umask — con la comune umask 022 significa tutti, quindi chmod +x script.sh equivale di solito a chmod a+x script.sh e trasforma un file che la shell si rifiuta di avviare in un eseguibile. Con una umask più severa come 077, però, +x agisce solo sul proprietario. Se vuoi un risultato preciso indipendente dalla umask, dichiaralo esplicitamente: u+x per il solo proprietario, a+x per tutti. Le directory hanno bisogno dello stesso bit anche solo per essere aperte, ed è per questo che di default sono 755 e non 644.
Come applico chmod a tutti i file e le cartelle in modo ricorsivo?
Evita un chmod -R 755 indiscriminato: rende eseguibile ogni file regolare, il che nel migliore dei casi è rumore e nel peggiore un rischio. Il modo pulito è trattare directory e file separatamente — find dir -type d -exec chmod 755 {} + per le directory e find dir -type f -exec chmod 644 {} + per i file, entrambi generati da questo calcolatore per il modo che scegli. La X maiuscola di GNU chmod fa lo stesso in una riga sola (chmod -R u+rwX,go+rX dir): aggiunge l'esecuzione solo alle directory e ai file già eseguibili. Una sottigliezza di Linux: un chmod numerico semplice come 755 lascia intatto un setuid/setgid esistente sulle directory — rimuovilo esplicitamente con 00755 o u-s,g-s se è ciò che intendi.
I miei dati vengono caricati quando uso questo calcolatore?
No. Ogni conversione avviene localmente nel tuo browser con semplice aritmetica di bit in JavaScript — nessuna chiamata a un server, nessun evento di analytics legato a ciò che digiti, niente da conservare. Puoi aprire gli strumenti per sviluppatori del browser e osservare il pannello di rete restare silenzioso mentre attivi e disattivi i permessi, oppure andare completamente offline e continuare a lavorare. Il pulsante Copia link codifica il modo corrente nel fragment dell'URL, e i fragment non vengono mai inviati a un server.

Strumenti correlati

Vedi tutti gli strumenti →