Come Usare il Comando chmod su Linux

Guida Completa Al Comando Chmod Su Linux Per Gestire I Permessi Di Lettura, Scrittura Ed Esecuzione Dei File E Delle Cartelle.
Il comando `chmod` permette di definire con precisione chi può leggere, scrivere o eseguire un file, un concetto fondamentale per la sicurezza su Linux.

Ti è mai capitato di provare a eseguire uno script su Linux e ricevere un errore di “Permesso negato”? O magari volevi proteggere un file importante da modifiche accidentali? La soluzione a tutto questo si chiama chmod, uno dei comandi più potenti e utili del terminale.

Non farti spaventare dal suo nome tecnico! In questa guida ti spiegheremo passo passo, in modo semplice e chiaro, come usare chmod per diventare il padrone assoluto dei permessi dei tuoi file. Iniziamo!


Capire i Permessi dei File su Linux 🤔

Prima di usare chmod, dobbiamo capire cosa sono e come funzionano i permessi. Su Linux, ogni file e ogni cartella ha un set di regole che definisce chi può fare cosa.

Ci sono tre azioni possibili:

  • Lettura (r – read): Permette di aprire e leggere il contenuto di un file. Per una cartella, permette di visualizzare l’elenco dei file al suo interno.
  • Scrittura (w – write): Permette di modificare o cancellare un file. Per una cartella, permette di creare, rinominare o eliminare file al suo interno.
  • Esecuzione (x – execute): Permette di eseguire un file (come uno script o un programma). Per una cartella, permette di entrarci dentro (ad esempio, con il comando cd).

Queste azioni possono essere concesse a tre categorie di utenti:

  • Proprietario (u – user): L’utente che ha creato il file.
  • Gruppo (g – group): Un gruppo specifico di utenti. È un modo per condividere l’accesso con più persone.
  • Altri (o – others): Tutti gli altri utenti del sistema.

In pratica, per ogni file decidiamo se il proprietario, il gruppo e tutti gli altri possono leggerlo, scriverlo e/o eseguirlo. Semplice, no?


Come Controllare i Permessi Attuali di un File 🔍

Per vedere i permessi di un file o di una cartella, apri il terminale e usa il comando ls -l.

Bash
ls -l mio_script.sh

L’output sarà qualcosa di simile:

Bash
-rwxrw-r-- 1 utente staff 343 26 set 20:15 mio_script.sh

La prima parte, -rwxrw-r--, è quella che ci interessa. Analizziamola:

  • Il primo trattino (-): Indica il tipo di file. - significa che è un file normale, mentre d indicherebbe una cartella (directory).
  • rwx (primo blocco): Sono i permessi per il Proprietario. In questo caso, può leggere, scrivere ed eseguire.
  • rw- (secondo blocco): Sono i permessi per il Gruppo. Può leggere e scrivere, ma non eseguire (nota il trattino -).
  • r-- (terzo blocco): Sono i permessi per gli Altri. Possono solo leggere.

Metodo 1: La Modalità Simbolica (Facile e Intuitiva) 😊

Questo è il metodo più semplice per iniziare, perché usa lettere facili da ricordare. La sintassi è:

chmod [chi] [azione] [permesso] nome_file

  • Chi:
    • u (proprietario)
    • g (gruppo)
    • o (altri)
    • a (tutti – all)
  • Azione:
    • + (aggiunge un permesso)
    • - (rimuove un permesso)
    • = (imposta esattamente quei permessi, cancellando i precedenti)
  • Permesso:
    • r (lettura)
    • w (scrittura)
    • x (esecuzione)

Esempi Pratici:

  • Per rendere eseguibile uno script per il proprietario:Bashchmod u+x mio_script.sh
  • Per rimuovere il permesso di scrittura al gruppo e agli altri:Bashchmod go-w file_importante.txt
  • Per dare a tutti il permesso di sola lettura:Bashchmod a=r documento_pubblico.txt
  • Puoi anche combinare le operazioni:Bashchmod u+x,go=r mio_script.sh

Metodo 2: La Modalità Numerica (Veloce per Esperti) ⚡

Questo metodo può sembrare complicato all’inizio, ma una volta capito è molto più rapido. Si basa sull’assegnare un numero a ogni permesso:

  • 4 = Lettura (r)
  • 2 = Scrittura (w)
  • 1 = Esecuzione (x)
  • 0 = Nessun permesso

Per ottenere i permessi desiderati, basta sommare i numeri!

  • 7 = 4+2+1 (Lettura, Scrittura, Esecuzione: rwx)
  • 6 = 4+2 (Lettura e Scrittura: rw-)
  • 5 = 4+1 (Lettura ed Esecuzione: r-x)
  • 4 = 4 (Sola Lettura: r--)

Quando usi chmod in modalità numerica, usi tre cifre: la prima per il proprietario, la seconda per il gruppo e la terza per gli altri.

Esempi Pratici:

  • chmod 755 mio_script.sh
    • Proprietario (7): rwx (può fare tutto)
    • Gruppo (5): r-x (può leggere ed eseguire)
    • Altri (5): r-x (può leggere ed eseguire)
    • Questo è un permesso molto comune per gli script e i programmi.
  • chmod 644 file_di_testo.txt
    • Proprietario (6): rw- (può leggere e scrivere)
    • Gruppo (4): r-- (può solo leggere)
    • Altri (4): r-- (può solo leggere)
    • Questo è un permesso standard per i file normali che non devono essere eseguiti.

Modificare i Permessi di Intere Cartelle (L’Opzione Ricorsiva) 📂

Se vuoi applicare gli stessi permessi a una cartella e a tutti i file e le sottocartelle al suo interno, puoi usare l’opzione -R (ricorsiva).

chmod -R [permessi] nome_cartella

Ad esempio, per impostare i permessi 755 su una cartella chiamata progetto e tutto il suo contenuto:

Bash

Bash
chmod -R 755 progetto

⚠️ Importante: Usa l’opzione -R con estrema cautela! Modificare ricorsivamente i permessi su cartelle di sistema o sulla tua cartella Home può causare problemi seri al tuo sistema operativo. Usala solo quando sei assolutamente sicuro di quello che stai facendo su cartelle che hai creato tu.


FAQ – Domande Frequenti su chmod ❓

Quale metodo dovrei usare? Simbolico o numerico?

Se sei all’inizio, il metodo simbolico (u+x) è più facile da leggere e capire. Se hai bisogno di velocità e sai già quali permessi impostare, il metodo numerico (755) è più diretto. Usa quello con cui ti senti più a tuo agio!

Cosa significa chmod 777 e perché è pericoloso?

chmod 777 dà a chiunque (rwx per proprietario, gruppo e altri) il permesso di leggere, scrivere ed eseguire un file. È considerato pericoloso perché annulla ogni forma di protezione. Qualsiasi utente sul sistema potrebbe modificare, cancellare o eseguire quel file, creando un potenziale rischio per la sicurezza. Evitalo a meno che non sia assolutamente necessario per scopi temporanei di test.

Avatar photo
Sono un Network Technician, Web & Graphic Designer e SEO Specialist, con una profonda passione per la tecnologia. Nel marzo 2019 ho fondato SOS Guide, un progetto nato per condividere questa passione.