fb-pixel

Come cambiare la proprietà dei file con il comando chown su Linux

Vuoi modificare il proprietario o il gruppo di un file? Con il comando chown di Linux possiamo modificare il proprietario di file, cartelle e link simbolici.

In questa guida vedremo come fare a modificare proprietario e gruppo di file e cartelle e come sfruttare le opzioni del comando chown.

Iniziamo!

Sintassi del comando chown

Il comando chown sta per “change owner” e serve a cambiare il propietario (owner) di file e cartelle su sistemi Linux.

Se hai familiarità con Linux, saprai che ogni file e cartella ha dei permessi che definiscono lettura, scrittura ed esecuzione. Come abbiamo visto, i permessi si impostano con il comando chmod.

Adesso, invece, andiamo a vedere come fare a modificare solo il proprietario e il gruppo proprietario di file e cartelle.

La sintassi di base di questo comando è la seguente:

chown [opzioni] nuovo_proprietario:nuovo_gruppo file

Come altri comandi Linux, anche il comando chown può essere seguito da una o più opzioni. Dopodiché va specificato il nome del proprietario “nuovo_proprietario” e si può indicare il nome del gruppo (preceduto dai “:”), per finire si indica il nome del file o della cartella da modificare.

Con gli esempi specifici che vedremo più avanti in questo articolo, capirai bene come usare il comando. Per il momento è importante sapere che si può anche cambiare il proprietario senza modificare il gruppo. Quindi l’argomento “nuovo_gruppo” del comando di base che abbiamo appena visto è opzionale.

La sintassi semplificata, solo per la modifica del proprietario sarà questa:

chown [opzioni] nuovo_proprietario file

Passiamo subito ai casi d’uso per capire come usare il comando chown.

Casi d’uso del comando chown

Il comando chown può essere usato per cambiare il proprietario di un singolo file, sia specificando il nome utente che l’ID del nuovo proprietario.

Possiamo anche cambiare solo il gruppo di appartenenza, oppure cambiare sia gruppo che proprietario con un singolo comando.

Andiamo a vedere le operazioni più comuni che possiamo fare usando il comando chown.

Come usare chown per cambiare il proprietario di un file

Il primo esempio che andiamo a vedere ci permette di modificare il proprietario di un file nel modo più semplice.

Per prima cosa può essere utile conoscere il proprietario attuale. Per farlo possiamo usare il comando ls in questo modo:

ls -l appunti.txt

L’output del comando ci permetterà di vedere i permessi, il proprietario e il gruppo del file in questione. In questo esempio proprietario e gruppo corrispondono a “vbox vbox” (vengono sempre indicati nell’ordine proprietario gruppo).

Verifica Proprietario File Linux Terminale

Prima di procedere, ricordati che per modificare i proprietari del file devi collegarti su terminale da root oppure usare “sudo” prima dei comandi. Altrimenti potresti vedere questo errore:

chown: cambiamento del proprietario di 'file.txt': Operazione non permessa

Questo succede perché il comando richiede i privilegi root.

Per modificare il proprietario del file, possiamo usare il comando chown in questo modo:

chown maria appunti.txt

Nell’esempio che vedi, il proprietario iniziale del file era “vbox” come abbiamo verificato usando il comando ls. Con il comando qui sopra ho cambiato il proprietario in “maria”.

Modificare Proprietario File Comando Chown

Cambiare il proprietario di un file indicando l’ID

In alternativa al metodo che abbiamo appena visto che consiste nell’indicare il proprietario del file usando il nome utente, possiamo anche utilizzare l’ID dell’utente.

Questo metodo richiede quindi di conoscere l’ID dell’utente al quale vogliamo assegnare il file.

Se vogliamo conoscere l’ID di un utente specifico ci basta dare questo comando:

id -u username

Nell’esempio che puoi vedere più sotto, abbiamo usato questo comando per conoscere l’ID dell’utente maria:

id -u maria

Qui è importante fare attenzione ad eventuali sovrapposizioni tra ID e nome utente, quindi dovremo assicurarci che non ci siano utenti che abbiano come username il valore di quell’ID.

Per impostare il proprietario conoscendo l’ID, quindi useremo il comando:

chown id nome-file

Nel nostro esempio:

chown 1001 documento.txt

Nell’esempio qui sotto puoi vedere tutti i comandi che abbiamo appena visto e il risultato.

Modificare Proprietario File Chown Con Id

Cambiare il proprietario di più file

Se vogliamo modificare il proprietario di una serie di file, invece di usare lo stesso comando più volte possiamo usarlo una sola volta.

Nello specifico ci basta specificare i file uno dopo l’altro. Ecco un esempio in cui voglio modificare il proprietario di tre file:

chown maria articolo1.txt articolo2.txt file.txt

Dando questo comando l’utente maria sarà il proprietario dei tre file specificati (articolo1 articolo2 e file).

Chown Modificare Proprietario File Multipli

Cambiare il gruppo di appartenenza di un file

All’inizio della guida abbiamo visto che è possibile modificare sia il proprietario che il gruppo di un file.

Se vogliamo possiamo modificare il gruppo di un file usando il comando in questo modo:

chown :gruppo file.txt

Dobbiamo quindi specificare il nome del gruppo preceduto dal segno dei due punti “:“.

Per esempio per cambiare il gruppo del file da “vbox” a “users”, darò questo comando:

chown :users file.txt

Ecco infatti il risultato:

Cambiare Gruppo Comando Chown

Nell’esempio qui sopra il gruppo di appartenenza di “file.txt” era vbox, con il comando chown lo abbiamo modificato in users.

Cambiare il gruppo usando l’ID

Come abbiamo visto prima per quanto riguarda gli ID degli utenti, possiamo fare lo stesso per gli ID dei gruppi.

Infatti possiamo usare il comando chown e indicare l’ID del gruppo per assegnare file e cartelle a quello specifico gruppo.

Vediamo un esempio.

In questo caso l’ID del gruppo (GID – group ID) è 1001, per impostare il gruppo userò il comando in questo modo:

chown :1001 file.txt

Cambiare proprietario e gruppo di un file

Gli esempi che abbiamo visto finora ci permettono di modificare il proprietario oppure il gruppo del file.

Possiamo anche fare entrambe le modifiche contemporaneamente e impostare un nuovo proprietario e un nuovo gruppo. Ci basta specificare entrambi nello stesso comando, in questo modo:

chown nuovo-utente:nuovo-gruppo nome-file

Per esempio:

chown maria:users documento.txt

In questo modo sto cambiando sia proprietario (maria) che gruppo (users), modificandoli rispetto a quelli di partenza (vbox vbox).

Cambiare Proprietario E Gruppo Chown

Come usare chown con le opzioni

Ora che abbiamo visto i casi d’uso più comuni del comando, vediamo alcune opzioni del comando chown che possiamo usare per operazioni specifiche.

Vedremo:

  • come cambiare il proprietario di un link simbolico con l’opzione -h;
  • come copiare le impostazioni da un file ad un altro con l’opzione --reference;
  • come fare una verifica prima di effettuare la modifica, usando --from;
  • come applicare modifiche ricorsive con -R;
  • come visualizzare i dettagli delle operazioni usando le opzioni -v e -c.

Se vogliamo cambiare il proprietario di un link simbolico, invece che del file di origine, dobbiamo specificare l’opzione corretta -h.

Se non usiamo questa opzione, verrà modificato il file e non il suo link simbolico.

Nel nostro esempio il link simbolico “documento” si trova nella stessa cartella del file “documento.txt”.

Per modificare il proprietario del link simbolico usiamo il comando seguente:

chown -h maria:maria documento

In questo modo sto impostando come proprietario e gruppo “maria”, per il link simbolico, ma non sto modificando le proprietà del file.

Modificare Proprietario Gruppo Chown Link Simbolico

Copiare le impostazioni da un file all’altro

Preso un file di riferimento possiamo usarlo per copiare le impostazioni di proprietario e gruppo verso un file di destinazione.

Per esempio posso copiare le impostazioni da “articolo1.txt” ad “articolo.txt”:

Abbiamo questa situazione di partenza:

-rwxr-xr-x 1 maria maria 2 gen 30 15:52 articolo1.txt 
-rw-rw-r-- 1 vbox vbox 2 feb 10 15:06 articolo.txt

Diamo il comando:

chown --reference=articolo1.txt articolo.txt

Al termine, proprietario e gruppo di “articolo.txt” saranno impostati come quelli del file “articolo1.txt”.

Chown Opzione Reference

Ricordati di specificare dopo l’opzione “--reference=” il file dal quale copiare le impostazioni, e per ultimo il file a cui applicare le impostazioni.

Modificare proprietario e gruppo dopo una verifica

In alcuni casi può essere utile fare una verifica di proprietario e gruppo attuale e fare la modifica solo se i permessi attuali corrispondono a quanto ci aspettiamo.

Ad esempio vogliamo modificare il proprietario di un file da “vbox” a “maria” e vogliamo assicurarci di fare la modifica solo se il proprietario di partenza è “vbox”.

In questo caso ci viene in aito l’opzione “--from” che si usa in questo modo:

chown --from=proprietario-attuale nuovo-proprietario nome-file

Nel nostro esempio:

chown --from=vbox maria documento.txt
Cambiare Proprietario Chown Opzione From

Si può fare la stessa cosa verificando e poi modificando il gruppo, così:

chown --from=:vbox :maria documento.txt

In questo caso vogliamo cambiare il gruppo in “maria” solo se il file ha attualmente il gruppo “vbox”.

Cambiare Gruppo Chown Opzione From

Applicare i cambiamenti a file e cartelle

Come abbiamo già visto nell’utilizzo del comando cp, l’opzione “-R” ci permette di applicare le modifiche ricorsivamente a tutti i file e le sottocartelle che fanno parte di una determinata cartella.

Per esempio se vogliamo modificare proprietario e gruppo di una cartella e di tutto il suo contenuto useremo il comando così:

chown -R nuovo-proprietario:nuovo-gruppo nome-cartella

Nel nostro esempio per cambiare i permessi della cartella “Articoli” (e di tutto il suo contenuto) userò il comando seguente:

chown -R maria:maria Articoli

In questo modo avremo impostato proprietario e gruppo per la cartella e per tutto il suo contenuto, come puoi vedere dall’output dell’esempio:

Usare Chown Con Opzione R

Usare le opzioni c e v

Durante le modifiche da terminale possiamo accedere ai dettagli usando queste due opzioni:

  • l’opzione -v ci permette di avere un output dettagliato in cui ci viene detto che modifiche sono state fatte e anche se il proprietario o il gruppo sono rimasti invariati;
  • l’opzione -c ci mostra solo le modifiche effettive. Questo significa che ci darà un output dettagliato solo nel caso in cui ci siano stati cambiamenti.

Vediamo con un esempio cosa cambia tra queste due opzioni.

Differenze Tra C E V Opzioni Chown

Nell’esempio qui sopra ho dato per prima cosa il comando:

chown -c vbox documento.txt

Visto che c’è stato un cambiamento del proprietario, mi è stato restituito questo output:

il proprietario di 'documento.txt' è stato cambiato da maria in vbox

Poi ho dato il comando:

chown -v vbox documento.txt

Avendo usato l’opzione “-v”, l’output ci avvisa che non c’è stato un cambiamento:

il proprietario di 'documento.txt' è stato mantenuto pari a vbox

Se, invece, uso di nuovo l’opzione “-c” non ricevo nessun avviso.

Conclusioni

Come abbiamo visto, il comando chown di Linux ci permette di modificare il proprietario di file e cartelle. Ogni file in Linux è associato a un utente (il proprietario) e ad un gruppo, da terminale possiamo modificare questi permessi con dei semplici comandi.

Ricordati sempre che la modifica della proprietà così come quella dei permessi dei file (permessi di scrittura, lettura ed esecuzione), va sempre eseguita con cautela perché può compromettere la sicurezza dei file.

Hai altri dubbi su come usare il comando? Facci sapere nei commenti.


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *