Ti sei mai trovato impigliato nel complicato mondo dei permessi di Linux? Se ti stai ancora chiedendo chi ha il permesso di leggere, scrivere o eseguire cosa, beh, sei nel posto giusto. Svela l’arte intricata dei permessi di Linux, concentrati specificamente sulla potente coppia: chmod
e chown
!
In questo tutorial, ti doterai delle competenze necessarie per controllare l’accesso ai tuoi file e alle tue directory con fiducia.
Ora arrotola le maniche e conquista i permessi di Linux come un campione!
Prerequisiti
Prima di immergerti in questa disamina approfondita dei permessi di Linux, assicurati di avere una macchina Linux per padroneggiare i comandi chmod
e chown
. Questo tutorial utilizza Ubuntu 22.04 LTS (Jammy Jellyfish).
Comprendere i Comandi chmod
e chown
Nel regno dei permessi di Linux, i comandi chmod
e chown
hanno un potere significativo. Capire come utilizzare questi comandi in modo efficace è cruciale per qualsiasi utente di Linux, dai principianti agli amministratori esperti.
Entrambi i comandi offrono molti modi per controllare il tuo sistema Linux, ma di seguito sono riportati i concetti di base di ciò che ciascuno può fare:
chmod
– Questo comando è fondamentale per gestire i permessi di file e directory in Linux, il che ti consente di specificare chi può leggere, scrivere ed eseguire un file. Utilizzando una combinazione di simboli e codici numerici, puoi concedere o limitare l’accesso a utenti, gruppi e altri.chown
– Con questo comando, puoi cambiare la proprietà dei file e delle directory. Questo comando è inestimabile quando hai bisogno di trasferire il controllo amministrativo o modificare l’associazione tra un file e un utente/gruppo.
Sia che si tratti di salvaguardare dati sensibili o semplificare l’accesso per un team, questi comandi sono i tuoi affidabili compagni nel mondo delle operazioni sui file Linux.
Continua a leggere e immergiti ancora più a fondo nelle complessità di questi comandi.
Elenco dei File e Visualizzazione delle Autorizzazioni
Prima di cambiare le autorizzazioni e la proprietà con i comandi chmod
e chown
, il primo passo è elencare i file e visualizzare le loro autorizzazioni.
Come trovare un libro in una biblioteca, in Linux, spesso avrai bisogno di visualizzare un elenco di file insieme alle loro autorizzazioni associate. Questa conoscenza è cruciale per una gestione efficace dei file.
Per visualizzare le autorizzazioni di un file o di una directory:
Apri un terminale ed esegui il seguente comando ls
per elencare tutti i file e le directory nella directory di lavoro corrente in un formato lungo (-l
)
Il formato lungo fornisce informazioni dettagliate su ogni file o directory, come mostrato di seguito.
Queste informazioni includono autorizzazioni, numero di collegamenti, proprietario, gruppo, dimensione e ora di modifica. Ma il tuo focus in questo momento sono le autorizzazioni dei file.

Tre autorizzazioni chiave regolano ogni file e directory: lettura (r), scrittura (w) ed esecuzione (x). Ciascuna determina come gli utenti interagiscono con il contenuto di ogni file e directory.
Inoltre, ciascuna di queste autorizzazioni viene applicata attraverso tre categorie distinte di proprietà: proprietario, gruppo e altri (utenti che non sono né membri del gruppo).
Quanto segue illustra ogni parte delle autorizzazioni dei file:
- Il primo carattere indica un file (–) o una directory (d).
- La prima parte (rw-) – Fornisce al proprietario le autorizzazioni di lettura e scrittura ma non di esecuzione.
- La seconda parte (rw-) – Concede al gruppo le autorizzazioni di lettura e scrittura ma non di esecuzione.
- L’ultima parte (r-) – Consente agli altri di leggere ma non di scrivere o eseguire.

Modifica delle autorizzazioni tramite il comando chmod
: Modalità Simbolica
Espandi la tua comprensione delle autorizzazioni dei file, immergendoti in un potente strumento per modificare le autorizzazioni. Immagina di poter regolare chi può accedere, modificare o eseguire un file o una directory con precisione. Il comando chmod
(cambia modalità) ti concede il potere di prendere il controllo del tuo sistema Linux.
Quando hai bisogno di un modo flessibile ed espressivo per controllare l’accesso ai tuoi file e alle tue directory in modo preciso, la modalità simbolica farà al caso tuo.
Per modificare le autorizzazioni con il comando chmod
tramite la modalità simbolica, segui questi passaggi:
1. Esegui il comando who
di seguito per creare un nuovo file (>
) chiamato user.txt
come utente non privilegiato, contenente un elenco degli utenti attualmente connessi alla tua macchina Linux.
Questo comando non fornisce output sul terminale, ma verificherai i permessi del file nel passaggio successivo.
2. Successivamente, esegui il comando di seguito per visualizzare i permessi del file user.txt
.
Qui sotto, puoi vedere i permessi predefiniti del file, il proprietario, il giorno e il mese di creazione e il nome del file.
Fai attenzione ai permessi correnti del file, poiché li confronti successivamente. Per ora, concentrati sui permessi dell’utente (rw-).

3. Ora, esegui il comando seguente per rimuovere (-
) il permesso di scrittura (w
) per il proprietario (u
), lasciando invariati tutti gli altri permessi per le altre categorie.
La tabella seguente illustra cosa rappresenta ciascun simbolo:
User Symbol | Details | Operation Symbol | Details | Permission Symbol | Details |
---|---|---|---|---|---|
u | Owner | + | Add permissions | r | Read |
g | Group | – | Remove permissions | w | Write |
o | Others | = | Set permissions explicitly | x | Execute |
Quando ha successo, il comando chmod
non ha output sul terminale, il che si applica in tutto questo tutorial.
4. Dopo aver modificato i permessi, esegui il comando di seguito per visualizzare i permessi del file user.txt
.
Confronta i permessi del file che hai annotato nel passo due (rw-) con quelli qui sotto. Nota che il proprietario (u) ha ora solo il permesso di lettura (r–).

5. Ora, esegui ciascun comando di seguito per eseguire le seguenti operazioni:
- Aggiungi (
+
), scrivi (w
) ed esegui (x
) i permessi per il proprietario (u
) sullo stesso fileuser.txt
. - Visualizza le informazioni del file
user.txt
per verificare le autorizzazioni modificate.
Come mostrato di seguito, l’utente ora ha i permessi di lettura, scrittura ed esecuzione (rwx) per il file user.txt.

6. Invece di aggiungere, esegui il comando chmod
di seguito per rimuovere (-
) quanto segue:
- Permesso di esecuzione (
x
) per il proprietario (u
). - Permesso di scrittura (
w
) per il gruppo (g
). - Tutti i permessi (
rwx
) per gli altri (o
).
Questo comando ti consente di rimuovere simultaneamente i permessi da diverse categorie con un singolo comando.
Questa volta, l’opzione -v
dice a chmod
di mostrare un messaggio sulle modifiche apportate dall’operazione.

7. Successivamente, esegui il seguente comando per effettuare le seguenti operazioni:
- Aggiungi (
+
) i permessi di lettura (r
) a tutte le categorie. - Rimuovi (
-
) i permessi di scrittura ed esecuzione (wx
) per tutte le (a
) categorie.
8. Ora, esegui il comando sottostante per visualizzare gli aggiornamenti delle autorizzazioni del file user.txt
.

? In alternativa, puoi modificare le stesse autorizzazioni per tutte e tre le categorie (utente, gruppo e altri) con i seguenti comandi:
chmod ugo-r
– Rimuove (-
) le autorizzazioni di lettura (r
) per tutte e tre le categorie (ugo
).
chmod ugo+r
– Aggiunge (+
) le autorizzazioni di lettura (r
) per tutte e tre le categorie (ugo
).
9. Infine, esegui i comandi seguenti per eseguire le seguenti operazioni:
chmod
– Imposta (=
) le autorizzazioni di lettura e scrittura (rw
) per il proprietario e il gruppo, e rimuove le autorizzazioni degli altri (o=
).
Il simbolo=
ti permette di impostare esplicitamente le autorizzazioni e sovrascrivere eventuali autorizzazioni esistenti. Se non vengono specificate autorizzazioni dopo il simbolo=
, tutte le autorizzazioni per quella categoria vengono rimosse.ls
– Visualizza le modifiche apportate alle autorizzazioni del fileuser.txt
.

Regolazione dei Diritti di Accesso Utilizzando il Comando chmod
: Modalità Ottale
Immagina di avere la capacità di impostare rapidamente e con precisione le autorizzazioni per i tuoi file senza le complessità della notazione simbolica. La modalità ottale (notazione in base otto) diventerà il tuo nuovo metodo preferito per gestire le autorizzazioni.
Nella modalità ottale (notazione in base otto), le autorizzazioni sono rappresentate utilizzando un numero di quattro o tre cifre, da 0 a 7. Ciascun numero corrisponde a un insieme specifico di autorizzazioni per il proprietario, il gruppo e gli altri, come segue:
- Lettura (r) = 4
- Scrittura (w) = 2
- Esecuzione (x) = 1
- Nessuna autorizzazione (-) = 0
Per vedere come funziona la modalità ottale nella gestione delle autorizzazioni dei file, esegui questi passaggi:
1. Esegui il seguente comando chmod
per aggiungere i seguenti permessi (664
) al file user.txt
:
- Proprietario – lettura (
4
) + scrittura (2
) + esecuzione (0
) =6
- Gruppo – lettura (
4
) + scrittura (2
) + esecuzione (0
) =6
- Altri – lettura (
4
) + scrittura (0
) + esecuzione (0
) =4
Quando si utilizza un numero a quattro cifre con il comando chmod
per i permessi dei file in Linux, la cifra iniziale (a sinistra) rappresenta i permessi speciali, come setuid, setgid e bit sticky. Le tre cifre successive rappresentano i permessi standard per il proprietario, il gruppo e gli altri, rispettivamente.
Ma quando si utilizza un numero a tre cifre, la prima cifra rappresenta i permessi del proprietario del file (u
), la seconda del gruppo del file (g
) e l’ultima per gli altri (o
).
In molti casi, soprattutto quando non si tratta di permessi speciali, potresti vedere solo la notazione a tre cifre. Lo zero iniziale, che indica la notazione ottale, può essere sottinteso e quindi omesso. Come nell’esempio qui sotto, anziché 0664
, si utilizza 664
.
2. Successivamente, esegui il comando seguente per visualizzare i permessi del file user.txt
.
Nell’output sottostante, puoi vedere che i permessi impostati per il file user.txt sono in modalità simbolica, equivalente a 664 in modalità ottale.

3. Ora, esegui il comando stat
di seguito per visualizzare un insieme completo di statistiche sul file user.txt
, comprese le autorizzazioni nei modi simbolico e ottale.
Sulla proprietà Accesso, come mostrato di seguito, vedrai la modalità ottale e simbolica associate alle autorizzazioni del file user.txt.
Con queste informazioni, migliorerai la tua comprensione dell’aggiustamento delle autorizzazioni utilizzando la modalità ottale.

Cambiamento della proprietà del file con il comando chown
Mentre le autorizzazioni dettano quali azioni possono essere eseguite su un file o una directory, puoi specificare chi ha il diritto di impostare o modificare queste autorizzazioni cambiando la proprietà.
Il comando chown
(cambio proprietario) è il comando principale per gestire la proprietà di file e directory. Come il comando chmod
, il comando chown
è un comando solo per root: solo l’utente root può cambiare la proprietà di un file o di una directory.
Per gestire la proprietà con il comando chown
, procedi con i passaggi seguenti:
1. Esegui i comandi seguenti per creare un utente (useradd
) di nome bill
e fornire una password sicura.
Devi avere più di un utente sulla tua macchina locale oltre all’utente predefinito, che sei tu, per vedere come funziona il cambio di proprietà.

2. Successivamente, esegui ciascun comando qui sotto, scrivi un elenco degli utenti attualmente connessi (who
) in un file chiamato new.txt
come utente non privilegiato e visualizza (ls
) il suo proprietario e le autorizzazioni.
Di seguito, l’output mostra che il proprietario del file è mercy.

3. Con il proprietario verificato, esegui il comando chown
qui sotto per cambiare il proprietario del file new.txt
in bill
.
Come il comando chmod
, il comando chown
non fornisce un output, ma verificherai il cambio di proprietario nel passaggio successivo.
4. Ora, esegui il seguente comando per visualizzare (ls
) il nuovo proprietario del file new.txt
.
L’output qui sotto conferma che hai cambiato con successo il proprietario del file new.txt in bill, che ora ha il controllo e l’autorità su quel file.

Imporre il Comando chown
per Modificare il Gruppo Proprietario
Nel sistema di file Linux, ogni file e directory è associato non solo a un singolo proprietario ma anche a un gruppo. Proprio come uno strumento singolo fuori tono può interrompere l’intero ensemble, la proprietà incorretta può portare a potenziali problemi.
Preoccupato? Non proprio. L’associazione di gruppo consente un approccio stratificato alle autorizzazioni dei file. Questo approccio consente a più utenti di collaborare e condividere l’accesso in base all’appartenenza al gruppo.
Per modificare la proprietà di gruppo, segui i seguenti passaggi:
1. Esegui il comando sottostante per visualizzare il gruppo associato al file new.txt
.

2. Successivamente, esegui i comandi di seguito, i quali non forniscono output ma eseguono le seguenti operazioni:
- Crea un gruppo (
groupadd
) chiamatodevelopers
. - Cambia la proprietà di gruppo (
chown
) del filenew.txt
indevelopers
.
? In alternativa, anziché un approccio individuale, utilizza i seguenti comandi per cambiare ricorsivamente il proprietario e la proprietà di gruppo di un file o di un intero directory.
sudo chown -R john:finance-group user.txt
sudo chown -R john:finance-group ~/Desktop
3. Ora, esegui di nuovo il seguente comando per visualizzare (ls
) la nuova proprietà di gruppo del file new.txt
.
Di seguito, l’output conferma che hai cambiato con successo la proprietà di gruppo del file new.txt in developers.

Modifica della Proprietà del File tramite UID e GID Numerici
Mentre i nomi utente e i nomi dei gruppi offrono un modo leggibile dall’uomo per identificare i proprietari dei file, ogni utente e gruppo è anche associato a identificatori numerici univoci.
Questi identificatori numerici univoci sono User ID (UID) e Group ID (GID). Forniscono un modo inequivocabile per impostare la proprietà del file in ambienti con nomi utente e nomi di gruppi sovrapposti o simili.
Per cambiare la proprietà utilizzando UID e GID numerici, esegui questi passaggi:
1. Esegui il comando seguente per visualizzare le informazioni (ls
) sul file new.txt
.
L’opzione -n
indica al comando ls
di visualizzare UID e GID numerici invece di risolverli ai rispettivi nomi utente e di gruppo.
Nota l’UID e GID associati al file new.txt
, poiché ne avrai bisogno per fare confronti nella fase successiva.

2. Successivamente, esegui i seguenti comandi getent
per ottenere UID e GID dell’utente e del gruppo che desideri impostare come proprietario del tuo file.
Assicurati di sostituire i segnaposto <username>
e <groupname>
con il nome utente e il nome del gruppo preferiti.
Prendi nota dell’UID (cioè, 1002) e del GID (cioè, 1005) nell’output seguente, poiché ne avrai bisogno per cambiare la proprietà nella fase successiva.
Di default, quando un utente viene creato in Linux, viene creato anche un gruppo con lo stesso nome dell’utente. Questo gruppo funge da gruppo principale dell’utente e viene aggiunto automaticamente a questo gruppo principale.
Pertanto, il GID dell’utente john
differisce dal GID del gruppo finance
. A meno che l’utente non venga esplicitamente aggiunto al gruppo, i rispettivi GID rimangono differenti.

3. Successivamente, esegui il seguente comando per cambiare la proprietà del file new.txt
e la proprietà di gruppo. Assicurati di sostituire 1002
e 1005
con quelli annotati nel secondo passo.
? Si noti che l’utilizzo di UID e GID numerici può essere meno leggibile rispetto ai nomi utente e ai nomi dei gruppi. Assicurati quindi di utilizzare i numeri corretti per evitare modifiche non intenzionali.
4. Infine, eseguire di nuovo il comando qui sotto per elencare le informazioni (ls
) sul file new.txt
e verificare le modifiche nella proprietà del file.
Confronta l’UID e il GID che hai annotato al passo uno con quelli qui sotto. Nota che la nuova proprietà del file è stata cambiata da 1001:1003 a 1002:1005.

Conclusione
Ti sei appena impegnato in una esplorazione completa delle autorizzazioni di Linux, acquisendo padronanza su comandi cruciali come chmod
e chown
. Durante questo tutorial, sei diventato esperto nel modificare le autorizzazioni usando modalità simboliche e ottali.
Hai anche acquisito le competenze per gestire la proprietà dei file e gli assegnamenti di gruppo, sia per nome che attraverso UID e GID numerici. Con questa nuova competenza in chmod
e chown
, ora possiedi potenti strumenti per governare l’accesso e la proprietà all’interno del tuo sistema Linux.
Ma perché non rafforzare ulteriormente la tua competenza in Linux? Forse considera di approfondire i metodi di controllo degli accessi avanzati, compresi gli elenchi di controllo degli accessi (ACL)? Puntare a un controllo ancora più preciso sulle autorizzazioni dei file e delle directory!