Ricerca nel sito web

11 Esempi di comandi Chown Linux per modificare la proprietà dei file


Breve: in questa guida per principianti discuteremo alcuni esempi pratici del comando chown. Dopo aver seguito questa guida, gli utenti saranno in grado di gestire la proprietà dei file in modo efficace in Linux.

In Linux, tutto è un file, il che significa che tutte le risorse di input/output, come file, directory, unità disco, stampanti, ecc. sono esposte come file attraverso lo spazio dei nomi del file system. Oltre a ciò, esiste una proprietà associata a ogni singolo file in Linux.

La proprietà è rappresentata da due entità: utente e gruppo. La combinazione di permessi di accesso e proprietà consente a Linux di implementare un meccanismo di controllo degli accessi in modo efficace.

In questa guida impareremo a conoscere il comando chown. Come suggerisce il nome, il comando chown viene utilizzato per modificare la proprietà dei file. Dopo aver seguito questa guida, i principianti saranno in grado di utilizzare il comando chown in modo efficace mentre lavorano con i sistemi Linux.

Sintassi del comando chown

La sintassi del comando chown è la seguente:

chown [OPTION]... [OWNER][:[GROUP]] [FILE-1] [FILE-2]...[FILE-N]

Ora capiamo l'utilizzo del comando chown con alcuni esempi pratici in Linux.

1. Come trovare la proprietà del file

Il modo più semplice per trovare il proprietario del file è utilizzare il comando ls, che elencherà l'utente e il gruppo del file.

touch file-1.txt
ls -l file-1.txt 

Nell'output sopra, possiamo vedere che il file è di proprietà dell'utente e del gruppo tecmint. Queste informazioni sono rappresentate rispettivamente dalla terza e dalla quarta colonna.

2. Come modificare la proprietà del file

Il comando chown ci permette di cambiare la proprietà del file. Vediamo il suo utilizzo impostando l'utente narendra come proprietario del file:

sudo chown narendra file-1.txt

Ora verifichiamo che la proprietà del file sia stata modificata:

ls -l file-1.txt 

3. Come modificare la proprietà del gruppo del file

Analogamente all'utente, possiamo anche modificare la proprietà del gruppo del file utilizzando il comando chown. Quindi, impostiamo la proprietà del file sul gruppo – narendra:

sudo chown :narendra file-1.txt

È importante notare che dobbiamo utilizzare i due punti (:) con il nome del gruppo mentre si modifica la proprietà del gruppo.

Ora verifichiamo la proprietà del gruppo del file:

ls -l file-1.txt

4. Come modificare la proprietà e il gruppo di file

Negli esempi precedenti abbiamo utilizzato due volte il comando chown. Innanzitutto, per modificare la proprietà dell'utente e quindi per modificare la proprietà del gruppo. Tuttavia, possiamo modificare sia l'utente che il gruppo utilizzando un unico comando.

Reimpostamo la proprietà del file sull'utente e sul gruppo tecmint, utilizzando il seguente comando:

sudo chown tecmint:tecmint file-1.txt

In questo esempio, abbiamo utilizzato il carattere due punti (:) per separare l'utente e il gruppo. Il valore prima dei due punti rappresenta l'utente mentre il valore dopo i due punti rappresenta il gruppo.

Ora controlliamo la proprietà del file aggiornata:

ls -l file-1.txt 

5. Come cambiare la proprietà del collegamento simbolico

Per impostazione predefinita, il comando chown dereferenzia il collegamento simbolico, il che significa che, se il file di input è un collegamento simbolico, cambia la proprietà del file di riferimento invece del collegamento simbolico stesso.

Tuttavia, possiamo sovrascrivere il comportamento predefinito utilizzando l'opzione -h come mostrato nell'esempio seguente.

Innanzitutto, crea un collegamento simbolico e verifica che punti al file di riferimento corretto:

ln -s file-1.txt symlink
ls -l symlink 

Successivamente, modifica la proprietà del collegamento simbolico utilizzando l'opzione -h:

sudo chown -h narendra:narendra symlink

Infine, verifica la proprietà del collegamento simbolico e del suo file di riferimento:

ls -l symlink file-1.txt

6. Come trasferire la proprietà del file all'utente

A volte, dobbiamo aggiornare la proprietà del file solo dopo aver convalidato la sua proprietà attuale. In questi casi, possiamo utilizzare l'opzione --from del comando chown come mostrato.

sudo chown -h --from narendra:narendra tecmint:tecmint symlink

In questo esempio, l'opzione --from rappresenta l'attuale proprietario del file mentre l'argomento successivo rappresenta la nuova proprietà. Quindi il comando precedente aggiorna la proprietà del file – collegamento simbolico, solo se il file è di proprietà dell'utente e del gruppo – narendra.

Ora controlliamo la proprietà aggiornata del file:

ls -l symlink

In questo esempio, abbiamo specificato sia l'utente che il gruppo utilizzando il carattere due punti (:). Tuttavia, possiamo specificarne uno come discusso negli esempi precedenti.

7. Come copiare la proprietà da un altro file

A volte è conveniente copiare la proprietà dal file esistente invece di fornire la stessa dalla riga di comando. In tali scenari, possiamo utilizzare l'opzione --reference con il comando chown, che rappresenta il file da cui deve essere copiata la proprietà.

Innanzitutto, crea un nuovo file e modificane la proprietà:

touch file-2.txt
sudo chown narendra:narendra file-2.txt

Ora controlliamo la proprietà attuale di entrambi i file:

ls -l file-1.txt file-2.txt 

Successivamente, imposta la proprietà del file file-2.txt come quella del file file-1.txt utilizzando il seguente comando:

sudo chown --reference=file-1.txt file-2.txt

Infine, verifica che la proprietà sia stata aggiornata correttamente:

ls -l file-1.txt file-2.txt 

Nell'output sopra, possiamo vedere che ora entrambi i file hanno la stessa proprietà.

8. Come modificare ricorsivamente la proprietà della directory

Possiamo usare il comando chown anche per cambiare la proprietà della directory. Tuttavia, il comportamento predefinito del comando non è ricorsivo.

Ciò significa che il comando chown cambierà solo la proprietà della directory di input. Tuttavia, possiamo sovrascrivere questo comportamento predefinito utilizzando l'opzione -R come mostrato nell'esempio seguente.

Innanzitutto, crea una directory e due file al suo interno:

mkdir dir-1
touch dir-1/demo-1.txt dir-1/demo-2.txt

Successivamente, controlla la proprietà della directory e dei suoi file:

ls -ld dir-1
ls -l dir-1

Quindi, modifica la proprietà della directory e dei suoi file in modo ricorsivo:

sudo chown -R narendra:narendra dir-1

Infine, verifica la proprietà della directory e dei suoi file:

ls -ld dir-1
ls -l dir-1

9. Come stampare i dettagli del processo di comando Chown

Per impostazione predefinita, il comando chown non stampa nulla sul terminale dopo aver cambiato la proprietà. Pertanto, finora abbiamo utilizzato l'opzione -l del comando ls per verificare la proprietà aggiornata.

Per superare questa limitazione possiamo abilitare la modalità verbose del comando che stampa la diagnostica per ogni file elaborato. Questa opzione fornisce informazioni significative quando la utilizziamo con l'opzione -R:

Quindi, utilizziamo l'opzione -v del comando per abilitare la modalità dettagliata:

sudo chown -Rv tecmint:tecmint dir-1

Ora controlliamo l'output del comando:

10. Come eliminare gli errori di comando Chown

Come altri comandi Linux, anche chown fornisce informazioni significative in caso di scenari di errore. L'errore può verificarsi per vari motivi, ad esempio file, gruppi o utenti inesistenti, autorizzazione insufficiente per eseguire determinate operazioni e così via.

Tuttavia, a volte non vogliamo mostrare questi messaggi di errore. In questi casi, possiamo usare l'opzione -f del comando per eliminare i messaggi di errore.

Per capirlo meglio, proviamo a cambiare la proprietà del file inesistente:

sudo chown -f narendra:narendra non-existing-file.txt
echo $?
1

Ora vediamo l’output del comando:

Come possiamo vedere, il comando precedente non mostra alcun errore. Tuttavia, il comando segnala un errore utilizzando il valore restituito diverso da zero.

11. Come modificare l'ID utente e gruppo del file

Finora abbiamo utilizzato i nomi utente e gruppo per modificare la proprietà del file. Tuttavia, possiamo anche utilizzare gli ID utente e gruppo per ottenere lo stesso risultato.

Innanzitutto, utilizza il comando id per trovare l'utente e l'ID del gruppo dell'utente – narendra:

id narendra

Ora utilizziamo l'ID utente e gruppo 1001 con il comando chown:

ls -l file-1.txt
sudo chown 1001:1001 file-1.txt

Infine, verifica che la proprietà sia stata aggiornata correttamente:

ls -l file-1.txt

In questo articolo abbiamo discusso alcuni esempi pratici del comando chown. È possibile utilizzare questi esempi nella vita di tutti i giorni per aumentare la produttività mentre si lavora con i sistemi Linux.

Conosci qualche altro miglior esempio del comando chown in Linux? Fateci sapere le vostre opinioni nei commenti qui sotto.