- 1 1. Introduzione
- 2 2. Cos’è chmod? (Comprensione di base)
- 3 3. Comprendere il significato di -rw-r–r–
- 4 4. Come impostare -rw-r–r– usando chmod (Guida pratica)
- 5 5. Controllare i permessi con il comando ls -l
- 6 6. Controllare e Modificare i Permessi Utilizzando Strumenti GUI (Facile per Principianti)
- 7 7. Note Importanti e Risoluzione dei Problemi per chmod
- 8 8. Casi d’Uso Pratici e Scenari Comuni
- 8.1 Come vengono usate le autorizzazioni chmod negli ambienti reali?
- 8.2 1. Gestione dei file HTML su un server web
- 8.3 2. Concessione del permesso di esecuzione a script
- 8.4 3. Restrizione dell’accesso a file sensibili
- 8.5 4. Condivisione sicura di una directory
- 8.6 5. Evitare problemi causati da una cattiva configurazione
- 9 9. Domande Frequenti (FAQ)
- 9.1 Q1. Qual è la differenza tra chmod 644 e -rw-r--r--?
- 9.2 Q2. Cosa succede se un file non ha il permesso di esecuzione?
- 9.3 Q3. È sicuro impostare 644 sulle directory?
- 9.4 Q4. Ci sono rischi nell’usare chmod -R?
- 9.5 Q5. Continuo a ricevere “Permission denied”. Cosa dovrei controllare?
- 9.6 Q6. Voglio condividere un file ma impedire la modifica. Cosa devo fare?
- 9.7 Q7. Ho cambiato accidentalmente i permessi. Come posso ripristinarli?
- 10 10. Riepilogo
1. Introduzione
Cosa sono i “permessi di accesso” in Linux?
In Linux e nei sistemi Unix‑like, gestire correttamente i permessi di accesso a file e directory è estremamente importante. È fondamentale non solo dal punto di vista della sicurezza, ma anche per mantenere operazioni di sistema stabili.
Molti si sono probabilmente chiesti cosa significhino simboli come -rw-r--r-- quando si visualizzano gli elenchi di file nel terminale.
La relazione tra chmod e -rw-r–r–
Questi simboli rappresentano i permessi di accesso ai file usando la notazione simbolica. Il comando chmod serve a impostare e modificare questi permessi. In altre parole, quando usi chmod per assegnare permessi specifici a un file, il risultato viene mostrato come simboli del tipo -rw-r--r--.
Scopo di questo articolo e pubblico di riferimento
Questo articolo spiega cosa significhi realmente -rw-r--r-- e come impostarlo o modificarlo usando chmod, in modo semplice per i principianti. Tratteremo anche considerazioni di sicurezza ed esempi pratici di utilizzo reale.
Il contenuto è destinato a tutti, dai principianti di Linux agli utenti intermedi che stanno acquisendo dimestichezza con le operazioni da terminale, con l’obiettivo di fornire conoscenze pratiche utilizzabili in ambienti di lavoro reali.
2. Cos’è chmod? (Comprensione di base)
Il ruolo del comando chmod
chmod (pronunciato “change mode”) è un comando usato in Linux e nei sistemi operativi Unix‑like per modificare i permessi di accesso a file e directory.
Utilizzando questo comando è possibile controllare in modo flessibile chi può eseguire quali operazioni (lettura, scrittura, esecuzione).
Impostare correttamente i permessi è cruciale non solo per la sicurezza, ma anche per evitare problemi di condivisione ed esecuzione dei file.
Sintassi di base di chmod
chmod [options] [permissions] filename
Ad esempio:
chmod 644 sample.txt
Questo comando modifica i permessi di sample.txt come segue:
-rw-r--r-- 1 user group 1234 Apr 13 20:00 sample.txt
- Proprietario (utente): lettura e scrittura consentite (rw-)
- Gruppo: sola lettura (r–)
- Altri: sola lettura (r–)
Due modi per specificare i permessi
Esistono due metodi per specificare i permessi con chmod:
- Modalità numerica
- Esempio:
chmod 755 script.sh - Questo metodo assegna i permessi usando numeri.
- Modalità simbolica
- Esempio:
chmod u=rw,g=r,o=r file.txt - Questo metodo utilizza simboli come u (utente), g (gruppo), o (altri) e r/w/x.
Entrambi i metodi producono lo stesso risultato. La modalità numerica è veloce per modifiche in blocco, mentre la modalità simbolica consente un controllo più flessibile.
Differenza tra chmod e chown
Un comando spesso confuso è chown:
chmod: modifica i permessi di accessochown: modifica il proprietario e il gruppo del file
Poiché i loro scopi differiscono, è importante comprendere chiaramente il ruolo di ciascun comando.
3. Comprendere il significato di -rw-r–r–
Struttura dei simboli di permesso
Quando esegui ls -l in Linux, le informazioni sul file vengono visualizzate nel seguente formato:
-rw-r--r-- 1 user group 1234 Apr 13 2025 sample.txt
La parte più a sinistra, -rw-r--r--, rappresenta i permessi di accesso del file. Capirla ti permette di sapere esattamente chi può fare cosa con il file.
Analisi dettagliata di ogni parte
① Primo carattere: tipo di file
| Symbol | Meaning |
|---|---|
- | Regular file |
d | Directory |
l | Symbolic link |
b | Block device |
c | Character device |
Nel caso di -rw-r--r--, il carattere iniziale - indica un file regolare.
② Caratteri 2–10: permessi (3 caratteri × 3 insiemi)
- Proprietario (utente) :
rw-Lettura e scrittura consentite; esecuzione non consentita. - Gruppo :
r--Solo lettura. - Altri :
r--Solo lettura.
Ciò significa che solo il proprietario può modificare il file, mentre tutti gli altri possono solo visualizzarlo.
Rappresentazione numerica: cosa significa 644
I permessi di Linux possono essere espressi anche usando la notazione numerica (ottale).
L’equivalente numerico di -rw-r--r-- è 644.
| User Type | Symbolic | Number | Meaning |
|---|---|---|---|
| Owner | rw- | 6 | Read + Write |
| Group | r-- | 4 | Read only |
| Others | r-- | 4 | Read only |
I valori numerici si calcolano così:
- Lettura (r) = 4
- Scrittura (w) = 2
- Esecuzione (x) = 1
Quindi, rw- = 4 + 2 = 6, e ciascun r-- = 4, risultando in 644.
Perché questo permesso è comunemente usato
-rw-r--r-- (644) è un permesso molto comune per file pubblici e contenuti statici di server web come HTML e CSS.
- Solo il proprietario può modificare il file, evitando modifiche involontarie
- Altri utenti possono leggere il file, consentendo condivisione e accesso pubblico
Quando usato correttamente, questa impostazione bilancia sicurezza e usabilità.
4. Come impostare -rw-r–r– usando chmod (Guida pratica)
Modificare i permessi con il comando chmod
I permessi di accesso a file e directory possono essere modificati liberamente usando il comando chmod. Per esempio, se vuoi impostare i permessi a -rw-r--r--, basta applicare il permesso 644.
Impostare i permessi usando la modalità numerica
Usa il formato chmod 644 nomefile.
chmod 644 document.txt
Questo comando cambia i permessi di document.txt come segue:
-rw-r--r-- 1 user group 1234 Apr 13 20:00 document.txt
- Proprietario (utente): lettura e scrittura consentite (rw-)
- Gruppo: solo lettura (r–)
- Altri: solo lettura (r–)
Impostare i permessi usando la modalità simbolica
Se hai bisogno di un controllo più flessibile, la modalità simbolica è utile.
chmod u=rw,g=r,o=r document.txt
Questo comando significa:
u=rw: concedi i permessi di lettura e scrittura al proprietariog=r: concedi il permesso di sola lettura al gruppoo=r: concedi il permesso di sola lettura agli altri
Il risultato è esattamente lo stesso dell’uso della modalità numerica 644.
Note importanti quando si applicano i permessi alle directory
A differenza dei file, le directory richiedono il permesso di esecuzione (x) per essere accessibili.
Ad esempio, la seguente impostazione può limitare l’accesso:
chmod 644 my_folder
Con questa configurazione, il permesso di lettura è concesso, ma gli utenti non possono entrare nella directory perché manca il permesso di esecuzione.
Esempio corretto:
chmod 755 my_folder
- Proprietario: lettura, scrittura, esecuzione
- Gruppo e altri: lettura ed esecuzione
Ciò consente ad altri utenti di elencare e accedere ai file all’interno della directory.
Cambiare i permessi ricorsivamente: l’opzione -R
Se vuoi cambiare i permessi per molti file e sottodirectory contemporaneamente, usa l’opzione -R (ricorsiva).
chmod -R 644 my_folder
Questo applica il permesso 644 a tutti i file sotto my_folder. Tuttavia, questo approccio presenta importanti avvertenze.
5. Controllare i permessi con il comando ls -l
Come visualizzare i permessi dei file
Per controllare i permessi di file e directory in Linux, usa il comando standard ls -l. Questo mostra informazioni dettagliate come permessi, proprietario, dimensione del file e data dell’ultima modifica.
Uso base
ls -l
L’output appare così:
-rw-r--r-- 1 naoya devs 2048 Apr 13 20:00 index.html
Ogni colonna ha il seguente significato:
| Field | Description |
|---|---|
-rw-r--r-- | Permissions |
1 | Number of hard links |
naoya | Owner (user) |
devs | Group |
2048 | File size (bytes) |
Apr 13 20:00 | Last modified date |
index.html | File name |
Come leggere il campo dei permessi
Concentrati sulla parte -rw-r--r--. Può essere scomposta come segue:
- Primo carattere: tipo di file
-: file regolared: directoryl: collegamento simbolico- Gli altri nove caratteri: permessi (3 × 3 set)
- Proprietario:
rw-→ lettura e scrittura - Gruppo:
r--→ sola lettura - Altri:
r--→ sola lettura
Questo ti dice che solo il proprietario può modificare il file, mentre gli altri possono solo leggerlo.
Controllare un file specifico
Per controllare i permessi di un file specifico, specifica il nome del file:
ls -l index.html
Questo è utile quando si lavora in directory contenenti molti file.
Controllare i permessi delle directory
Le directory possono anche essere controllate usando ls -l. Per visualizzare la directory stessa anziché il suo contenuto, usa l’opzione -d.
ls -ld my_folder
Questo mostra le informazioni sui permessi solo per my_folder.
Gestione sicura dei permessi
Dopo aver modificato i permessi con chmod, è consigliato verificare sempre il risultato usando ls -l.
Impostazioni errate possono portare a problemi di sicurezza o comportamenti inattesi.
You can also combine it with pipes for filtering:
ls -l | grep '.sh'
This filters and displays only shell script files.
6. Controllare e Modificare i Permessi Utilizzando Strumenti GUI (Facile per Principianti)
Un’Opzione per Chi Non Si Sente a Proprio Agio con la Linea di Comando
Linux è spesso gestito tramite terminale e linea di comando, ma molti principianti trovano le interfacce testuali difficili o soggette a errori.
Per questi utenti, i permessi dei file possono essere controllati e modificati anche usando strumenti GUI (Interfaccia Grafica Utente).
Usare il File Manager di Ubuntu (Nautilus)
Le distribuzioni Linux come Ubuntu includono un file manager predefinito chiamato Nautilus, simile a Windows Explorer.
Come controllare i permessi:
- Fai clic con il tasto destro sul file o sulla cartella di destinazione
- Seleziona “Proprietà”
- Apri la scheda “Permessi” (l’etichetta può variare a seconda della versione)
Cosa puoi fare lì:
- Visualizzare e modificare proprietario e gruppo (necessari privilegi di amministratore)
- Attivare o disattivare i permessi di lettura, scrittura ed esecuzione
- Le modifiche vengono applicate immediatamente
Invece delle notazioni simboliche come rw- o r--, i permessi sono mostrati in descrizioni in linguaggio naturale come “Solo lettura” o “Lettura e scrittura”, rendendoli facili da capire per i principianti.
WinSCP (Client SFTP per Utenti Windows)
Quando ti connetti da Windows a un server Linux remoto, WinSCP consente la gestione dei permessi tramite una GUI.
Passaggi:
- Accedi al server usando WinSCP
- Fai clic con il tasto destro su un file e seleziona “Proprietà”
- Modifica i valori dei permessi (es. 644) o usa le caselle di controllo
- Fai clic su “OK” per applicare le modifiche
Vantaggi:
- I permessi possono essere visualizzati sia in formato numerico che simbolico
- Le modifiche ricorsive dei permessi sono supportate tramite GUI
Note:
- I file che richiedono privilegi di root potrebbero non essere modificabili senza permessi sudo
WinSCP is a popular free file manager for Windows supporting…

FileZilla (Client SFTP Multi‑Piattaforma)
Il client SFTP multi‑piattaforma FileZilla, disponibile per macOS e Linux, consente anch’esso di modificare i permessi.
Passaggi:
- Connettiti al server
- Fai clic con il tasto destro sul file di destinazione
- Seleziona “Permessi File”
- Regola i permessi usando le caselle di controllo o i valori numerici e fai clic su “OK”
Vantaggi e Avvertenze delle Operazioni Basate su GUI
Vantaggi:
- Meno soggetto a errori per i principianti
- Le modifiche possono essere confermate visivamente subito
- Non è necessario memorizzare la sintassi dei comandi
Avvertenze:
- Alcuni ambienti server non consentono modifiche dei permessi tramite strumenti GUI
- I valori mostrati potrebbero non riflettere sempre i permessi effettivamente applicati, quindi è consigliabile verificare con
ls -l
FileZilla - The free FTP solution for both client and server…
7. Note Importanti e Risoluzione dei Problemi per chmod
Non Funziona Ancora—Perché?
Anche dopo aver cambiato i permessi con chmod, i file potrebbero non comportarsi come previsto. Nella maggior parte dei casi, ciò è dovuto a permessi configurati in modo errato o a incomprensioni.
Di seguito sono elencati problemi reali comuni e le relative soluzioni.
Errori “Permission denied”
Sintomo:
bash: ./script.sh: Permission denied
Causa:
- Il file non ha il permesso di esecuzione (x)
Soluzione:
chmod +x script.sh
Oppure usando la modalità numerica:
chmod 755 script.sh
Nota che avere permessi di lettura o scrittura non implica il permesso di esecuzione.
Le Directory Senza Permesso di Esecuzione Non Possono Essere Accessibili
Applicare chmod 644 a una directory può impedire l’accesso al suo contenuto.
Motivo:
- Il permesso di esecuzione (x) sulle directory è necessario per entrare e elencarne il contenuto.
Esempio:
chmod 644 my_folder
ls my_folder
Questo può generare un errore.
Correzione:
chmod 755 my_folder
Insidie delle Modifiche Ricorsive (-R)
Sebbene chmod -R sia comodo, applica gli stessi permessi sia ai file sia alle directory, il che può causare problemi inattesi.
Errore comune:
chmod -R 644 /var/www/html
Questo rimuove i permessi di esecuzione dalle directory, rendendole inaccessibili.
Approccio corretto:
# Apply execute permissions to directories
find /var/www/html -type d -exec chmod 755 {} \;
# Apply file permissions
find /var/www/html -type f -exec chmod 644 {} \;
Incongruenza tra Proprietario e Gruppo
Le sole autorizzazioni non bastano; anche il proprietario del file e le impostazioni del gruppo sono importanti.
Ad esempio, se un utente del server web come apache deve leggere un file, ma il proprietario è un utente normale e gli altri non hanno il permesso di lettura, il file non verrà servito correttamente.
Soluzioni:
- Cambia proprietario:
sudo chown www-data:www-data index.html - Concedi l’accesso al gruppo:
chmod 640 index.html(se il gruppo è appropriato)
Perché chmod 777 è Pericoloso
Alcuni utenti tentano di risolvere i problemi impostando le autorizzazioni a 777, ma questo è estremamente pericoloso.
Motivi:
- Chiunque può leggere, scrivere ed eseguire il file
- Alto rischio di manomissione o esecuzione di script maligni
Best practice consigliate:
- File : 644 o 600
- Directory : 755 o 700
- Script/Binari : 755 (se necessario)
8. Casi d’Uso Pratici e Scenari Comuni
Come vengono usate le autorizzazioni chmod negli ambienti reali?
Il comando chmod e autorizzazioni come -rw-r--r-- sono frequentemente usati nelle operazioni di server reali e negli ambienti di sviluppo.
Di seguito sono riportati diversi scenari rappresentativi che illustrano come le autorizzazioni vengono applicate nella pratica.
1. Gestione dei file HTML su un server web
Scenario:
Quando si pubblicano file HTML su un server web come Apache o Nginx, l’autorizzazione tipica è -rw-r--r-- (644).
chmod 644 index.html
Perché 644?
- Il proprietario (amministratore del sito) ha bisogno di accesso in scrittura
- L’utente del server web (ad es. www-data) ha solo bisogno di lettura
- L’accesso in scrittura per gli altri è inutile e non sicuro
Questa configurazione consente una pubblicazione sicura dei contenuti web secondo il principio del minimo privilegio.
2. Concessione del permesso di esecuzione a script
Scenario:
Hai creato uno script shell backup.sh, ma l’esecuzione fallisce con l’errore “Permission denied”.
chmod 755 backup.sh
Significato di questa impostazione:
- Proprietario: lettura, scrittura, esecuzione (rwx)
- Gruppo e altri: lettura ed esecuzione (rx)
Questo permette agli altri di eseguire lo script limitando la modifica al proprietario.
3. Restrizione dell’accesso a file sensibili
Scenario:
Gestisci un file secrets.txt contenente chiavi API o password e vuoi impedire a chiunque altro di accedervi.
chmod 600 secrets.txt
Significato:
- Proprietario: solo lettura e scrittura
- Gruppo e altri: nessun accesso
È una pratica di sicurezza critica. I file sensibili dovrebbero sempre essere gestiti con 600 o 400 (sola lettura).
4. Condivisione sicura di una directory
Scenario:
Crei una directory condivisa shared_folder a cui accedono più sviluppatori.
chmod 770 shared_folder
Significato:
- Proprietario e gruppo: permessi completi (rwx)
- Altri: nessun accesso
Assegnando il team di sviluppo come gruppo, abiliti una collaborazione sicura ed efficiente. L’appartenenza al gruppo può essere modificata con chgrp.
5. Evitare problemi causati da una cattiva configurazione
Scenario:
Esegui accidentalmente chmod -R 777 ., rendendo tutti i file scrivibili da chiunque.
Precauzioni consigliate:
- Usa sempre
findper distinguere tra file e directory - Controlla le autorizzazioni in anticipo con
ls -l - Testa le modifiche prima in un ambiente di staging
9. Domande Frequenti (FAQ)
Q1. Qual è la differenza tra chmod 644 e -rw-r--r--?
R. Rappresentano la stessa autorizzazione; differiscono solo nella notazione.
chmod 644: specifica numerica delle autorizzazioni-rw-r--r--: rappresentazione simbolica mostrata dals -l
Q2. Cosa succede se un file non ha il permesso di esecuzione?
R. L’esecuzione di script o binari fallirà.
bash: ./script.sh: Permission denied
Correzione:
chmod +x script.sh
Q3. È sicuro impostare 644 sulle directory?
A. Generalmente, no.
Le directory richiedono permesso di esecuzione (x) per essere accessibili.
Impostazione corretta:
chmod 755 directory_name
Q4. Ci sono rischi nell’usare chmod -R?
A. Sì. Gli stessi permessi vengono applicati sia ai file che alle directory.
chmod -R 644 my_project/
Questo rimuove i permessi di esecuzione dalle directory.
Approccio più sicuro:
find my_project/ -type d -exec chmod 755 {} \;
find my_project/ -type f -exec chmod 644 {} \;
Q5. Continuo a ricevere “Permission denied”. Cosa dovrei controllare?
A. Verifica quanto segue:
- Il file ha il permesso di esecuzione se viene eseguito
- Sei il proprietario o hai il permesso di scrittura
- La directory ha il permesso di esecuzione
- Hai i privilegi sudo se necessario
Q6. Voglio condividere un file ma impedire la modifica. Cosa devo fare?
A. Usa i permessi 644 o 444.
chmod 644 share.txt
- 644: gli altri possono solo leggere
- 444: tutti hanno accesso in sola lettura
Q7. Ho cambiato accidentalmente i permessi. Come posso ripristinarli?
A. Confronta con un file configurato correttamente.
ls -l /path/to/correct_file
Riapplica i permessi usando chmod. Idealmente, documenta i permessi predefiniti per il tuo progetto.
10. Riepilogo
Perché comprendere chmod e i permessi è importante
Questo articolo ha spiegato il comando chmod e il significato dei permessi simbolici come -rw-r--r--, ampiamente usati nei sistemi Linux e Unix-like.
Questi concetti sono essenziali per garantire sicurezza del sistema, stabilità operativa e condivisione accurata dei file.
Punti chiave
chmodmodifica i permessi di accesso a file e directory-rw-r--r--significa che il proprietario può leggere e scrivere, gli altri possono solo leggere- Le rappresentazioni numeriche (
644) e simboliche (-rw-r--r--) sono equivalenti - I permessi possono essere impostati usando modalità numeriche o simboliche
ls -lè usato per verificare i permessi- Strumenti GUI come Nautilus, WinSCP e FileZilla possono anche gestire i permessi
- Permessi errati spesso causano errori “Permission denied”
- C’è sempre una ragione dietro i pattern di permessi comunemente usati
Il “miglior” permesso dipende dal contesto
Non esiste un’impostazione di permessi universale che vada bene per tutti i casi.
I permessi dovrebbero sempre essere scelti in base allo scopo, agli utenti e al livello di sicurezza richiesto.
Consiglio finale
Anche se i permessi possono sembrare complessi all’inizio, padroneggiare chmod ti permette di prevenire i problemi in modo proattivo e gestire i sistemi in sicurezza.
Chiediti sempre:
Chi dovrebbe accedere a questo file e per quale scopo?
Mantenere questa prospettiva ti aiuterà a creare ambienti Linux sicuri e affidabili.





