Linux Commands · 8 min read · Sep 15, 2025

Tutorial sul comando Chown di Linux per principianti (12 esempi)

In Linux, ci possono essere momenti in cui potresti voler cambiare il proprietario e le informazioni relative al gruppo per un file o una directory. Se sei un principiante della riga di comando e vuoi sapere come puoi apportare tali modifiche tramite la riga di comando, sarai felice di sapere che esiste un comando - chiamato chown - che ti consente di farlo.

Prima di iniziare con il tutorial sul comando chown, vale la pena menzionare che tutti gli esempi e le istruzioni qui menzionati sono stati testati su Ubuntu 22.04 LTS e Debian 11.

Comando chown di Linux spiegato

Come già accennato all’inizio, il comando chown ti consente di cambiare il proprietario del file e il gruppo tramite la riga di comando. Di seguito è riportata la sintassi generica del comando:

chown [OPZIONE]... [PROPRIETARIO][:[GRUPPO]] FILE...

Ecco cosa dice la pagina man dello strumento al riguardo:

Se viene fornito solo un proprietario (un nome utente o un ID utente numerico), quell'utente diventa il proprietario di ciascun file fornito, e il gruppo dei file non viene cambiato. Se il proprietario è seguito da un due punti e da un nome di gruppo (o ID di gruppo numerico), senza spazi tra di essi, la proprietà del gruppo dei file viene cambiata. Se un due punti ma nessun nome di gruppo segue il nome utente, quell'utente diventa il proprietario dei file e il gruppo dei file viene cambiato nel gruppo di accesso di quell'utente. Se vengono forniti i due punti e il gruppo, ma il proprietario è omesso, solo il gruppo dei file viene cambiato; in questo caso, chown svolge la stessa funzione di chgrp. Se viene fornito solo un due punti, o se l'intero operando è vuoto, né il proprietario né il gruppo vengono cambiati.

I seguenti esempi di tipo Q&A ti daranno una buona idea di come funziona il comando chown:

D1. Come cambiare il proprietario di un file?

Considera il seguente esempio:

Qui, il proprietario del file è ‘himanshu’ e il gruppo a cui appartiene è anch’esso ‘himanshu’. Ora, per cambiare il proprietario in, diciamo, ‘root’, usa il seguente comando:

chown root file1

Lo screenshot seguente conferma che il proprietario è stato ora cambiato in ‘root’.

D2. Come cambiare il gruppo di un file?

Cambiare un gruppo è simile a cambiare il proprietario. L’unica differenza è nella sintassi del comando, che è la seguente:

chown :[nome-gruppo] [nome-file]

Quindi supponiamo che la necessità sia di cambiare il gruppo di ‘file1’ in ‘root’. Allora il comando sarebbe:

chown :root file1

Lo screenshot seguente mostra che il gruppo è stato cambiato con successo da ‘himanshu’ a ‘root’.

*Nota: Nel caso ti stessi chiedendo perché è stato usato il comando ‘sudo’, o nel caso tu sia nuovo a ‘sudo’, dovresti prima leggere il nostro tutorial su questo strumento.*

D3. Come cambiare sia il proprietario che il gruppo di un file?

Per cambiare sia il proprietario che il gruppo di un file, usa la seguente sintassi:

chown [nuovo-proprietario]:[nuovo-gruppo] [nome-file]

Quindi nel nostro caso, per cambiare il proprietario e il gruppo esistenti da ‘root’ a ‘himanshu’, useremo il seguente comando:

chown himanshu:himanshu file1

Lo screenshot seguente mostra il comando sopra in azione:

D4. Come cambiare il proprietario o il gruppo (o entrambi) dopo aver controllato il proprietario/gruppo esistente?

Potrebbero esserci situazioni in cui potresti voler prima controllare il proprietario/gruppo esistente di un file prima di apportare qualsiasi modifica. Quindi per quei casi, puoi usare l’opzione della riga di comando –from. Questa opzione richiede di menzionare il nome del proprietario/gruppo che desideri verificare.

chown --from=[curr-own]:[curr-group] [new-owner]:[new-group] [filename]

Ad esempio:

chown --from=root:himanshu himanshu:root file1

Il comando sopra verificherà se il proprietario esistente è ‘root’ e il gruppo è ‘himanshu’. Se sì, allora il proprietario verrà cambiato in ‘himanshu’ e il gruppo diventerà ‘root’.

D5. Come prelevare informazioni su proprietario/gruppo da un file di riferimento?

Potrebbero esserci anche situazioni in cui potresti voler che chown prelevi informazioni relative a proprietario e gruppo da un file, invece di inserirle manualmente nella riga di comando. Per quei casi, puoi usare l’opzione della riga di comando –reference. Questa opzione richiede di inserire il nome del file di riferimento.

chown --reference=[nome-file-riferimento] [filename]

Ad esempio:

chown --reference=file2 file1

Quindi il comando sopra copierà le informazioni su proprietario e gruppo da file2 a file1.

D6. Come far operare chown su file e directory in modo ricorsivo?

Per far operare il comando chown in modo ricorsivo su file e directory, usa l’opzione della riga di comando -R.

chown -R [nuovo-proprietario]:[nuovo-gruppo] [nome-directory-o-percorso]

Per coloro che non lo sanno, ricorsivo significa che l’operazione verrà eseguita per tutti i file nella directory fornita, così come per file e directory all’interno di tutte le sottodirectory.

D7. Come far sì che chown sopprima i messaggi di errore?

Ci possono essere momenti in cui il comando chown che esegui restituisce un errore. Ad esempio, il seguente comando, quando eseguito sul mio sistema:

chown --from=himanshu:himanshu himanshu:root file4

ha restituito il seguente errore:

chown: impossibile accedere a 'file4': Nessun file o directory di questo tipo

Ora supponiamo che la necessità sia che lo strumento non mostri tali errori. Allora questo può essere reso possibile usando l’opzione della riga di comando -f.

Lo screenshot sopra conferma che l’opzione della riga di comando -f sopprime errori/avvisi.

D8. Come cambiare la proprietà del gruppo nel gruppo di accesso dell’utente specificato?

Questo può essere fatto usando la sintassi [utente/proprietario]:. Ad esempio, il seguente comando:

chown himanshu: file1

Assicurerà che la proprietà venga data a ‘himanshu’ e il gruppo venga cambiato nel gruppo di accesso di ‘himanshu’. Nota che questo è diverso dal caso in cui non viene usato il due punti (:), poiché in quel caso (spiegato nella D1 sopra), il gruppo rimane invariato.

Un’altra cosa degna di nota qui è che se usi solo un due punti (:) senza specificare un proprietario o un gruppo, allora non ci sarà alcuna modifica. Ad esempio:

chown : file1

Questo comando non avrà alcun effetto sulla proprietà utente o gruppo del file.

D9. Come funziona chown con i collegamenti simbolici?

Per impostazione predefinita, se provi a cambiare la proprietà utente e gruppo di un collegamento simbolico, non ci sarà alcuna modifica. Invece, saranno questi cambiamenti a essere applicati al file a cui si collega.

Ad esempio, lo screenshot qui sotto mostra che ho creato un collegamento simbolico ‘link1’ la cui proprietà utente e gruppo è impostata su ‘himanshu’. Poi ho eseguito il comando chown per cambiare utente e gruppo in ‘root’. Ma il comando non ha avuto alcun effetto sul file del collegamento simbolico - invece, è ‘file1’ (a cui il collegamento simbolico punta) la cui proprietà utente e gruppo è stata cambiata.

Comando Chown collegamenti simbolici

Tuttavia, se lo desideri, puoi sovrascrivere questo comportamento predefinito usando l’opzione -h.

D10. Come cambiare il proprietario e il gruppo per una directory?

Proprio come fai per i file. Di seguito è riportato un esempio:

chown root:root ./test-dir/

Nota che puoi verificare il cambiamento di proprietario e gruppo per una directory usando il comando stat - i campi UID e GID nell’output mostrano i nomi utente e gruppo.

Ad esempio, nel mio caso, l’output mostrava chiaramente il cambiamento della proprietà del gruppo utente.

  File: test-dir  
  Size: 4096          Blocks: 8          IO Block: 4096   directory  
Device: 808h/2056d    Inode: 11928001    Links: 2  
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)  
Access: 2018-08-07 10:31:04.867467573 +0530  
Modify: 2018-08-07 10:30:53.651807123 +0530  
Change: 2018-08-07 10:32:49.644427930 +0530  
 Birth: -

Nota che se stai apportando modifiche ricorsive (riferiti alla Q&A che discute l’opzione -R), e stai trattando collegamenti simbolici, hai le seguenti opzioni a tua disposizione:

       Le seguenti opzioni modificano il modo in cui una gerarchia viene attraversata quando l'opzione -R  
       è anche specificata. Se ne vengono specificate più di una, solo l'ultima avrà effetto.  
       
       -H     se un argomento della riga di comando è un collegamento simbolico a una directory,  
              attraversalo  
       
       -L     attraversa ogni collegamento simbolico a una directory incontrato  
       
       -P     non attraversare alcun collegamento simbolico (predefinito)

D11. Possono essere usati UID e GID invece di nomi utente e gruppo?

Sì, puoi usare l’ID utente e l’ID di gruppo invece dei nomi. La sintassi del comando rimane comunque la stessa.

Ad esempio:

chown 1000:1000 file1

Il comando sopra cambierà la proprietà utente e gruppo all’utente con UID 1000 e al gruppo con GID 1000.

D12. Come far sì che chown visualizzi i dettagli dell’operazione nell’output?

Se desideri che il comando chown visualizzi i dettagli dell’operazione che esegue, usa l’opzione della riga di comando -v.

Ad esempio, questo comando:

sudo chown howtoforge:howtoforge link1 -v

produce il seguente output:

changed ownership of 'link1' from root:root to howtoforge:howtoforge

Ora, c’è un’altra opzione -c che agisce anche come -v, solo che non visualizza alcun dettaglio quando nulla viene cambiato.

Conclusione

Il comando chown, come la maggior parte di voi probabilmente concorderebbe, non è difficile da usare. Ciò che è ancora meglio è che la pagina man dello strumento contiene molti dettagli che potrebbero essere utili agli utenti (soprattutto ai principianti). Prova gli esempi che abbiamo spiegato qui e per il resto delle funzionalità/opzioni, consulta la pagina man di chown. Per cambiare la directory, usa il comando cd. In caso di dubbi o domande, lascia un commento qui sotto.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.