Comando chown

()

Il comando chown consente di modificare la proprietà dell’utente e/o del gruppo di un determinato file, directory o collegamento simbolico.

In Linux, tutti i file sono associati a un proprietario ea un gruppo e vengono assegnati diritti di accesso autorizzati per il proprietario del file, i membri del gruppo e altri.

In questo tutorial, ti mostreremo come utilizzare il chowncomando attraverso esempi pratici.

Come usare chown
Prima di approfondire come utilizzare il chowncomando, iniziamo rivedendo la sintassi di base.

L’espressione di comando chown ha la forma seguente:

chown [OPTIONS] USER[:GROUP] FILE(s)

USER è il nome utente o l’ID utente (UID) del nuovo proprietario. GROUP è il nome del nuovo gruppo o l’ID gruppo (GID). FILE(s) è il nome di uno o più file, directory o collegamenti. Gli ID numerici devono essere preceduti dal simbolo +.

USER – Se viene specificato solo l’utente, l’utente specificato diventerà il proprietario dei file dati, la proprietà del gruppo non viene modificata.
USER:- Quando il nome utente è seguito da due punti :e il nome del gruppo non viene fornito, l’utente diventerà il proprietario dei file e la proprietà del gruppo di file verrà modificata nel gruppo di accesso dell’utente.
USER:GROUP – Se vengono specificati sia l’utente che il gruppo (senza spazio tra di essi), la proprietà dell’utente dei file viene modificata nell’utente specificato e la proprietà del gruppo viene modificata nel gruppo specificato.
:GROUP– Se l’Utente viene omesso e il gruppo è preceduto da due punti :, solo la proprietà del gruppo dei file viene modificata nel gruppo specificato.
: Se vengono forniti solo i due punti , senza specificare l’utente e il gruppo, non viene apportata alcuna modifica.
Per impostazione predefinita, in caso di successo, chown non produce alcun output e restituisce zero.

Usa il comando ls -l per scoprire chi possiede un file o a quale gruppo appartiene il file:

ls -l filename.txt

-rw-r–r– 12 linuxize users 12.0K Apr 8 20:51 filename.txt
|[-][-][-]- [——] [—]
| |
| +———–> Group
+——————-> Owner

Gli utenti normali possono modificare il gruppo del file solo se possiedono il file e solo per un gruppo di cui sono membri. Gli utenti amministrativi possono modificare la proprietà del gruppo di tutti i file.

Come cambiare il proprietario di un file
Per modificare il proprietario di un file utilizzare il chowncomando seguito dal nome utente del nuovo proprietario e dal file di destinazione come argomento:

chown USER FILE

Ad esempio, il comando seguente cambierà la proprietà di un file denominato file1in un nuovo proprietario denominato linuxize:

chown linuxize file1

Per modificare la proprietà di più file o directory, specificarli come elenco separato da spazi. Il comando seguente cambia la proprietà di un file denominato file1e directory dir1in un nuovo proprietario denominato linuxize:

chown linuxize file1 dir1

L’ID utente numerico (UID) può essere utilizzato al posto del nome utente. L’esempio seguente cambierà la proprietà di un file denominato file2in un nuovo proprietario con UID di 1000:

chown 1000 file2

Se esiste un proprietario numerico come nome utente, la proprietà verrà trasferita al nome utente. Per evitare questo prefisso l’ID con +:

chown 1000 file2

Come modificare il proprietario e il gruppo di un file
Per modificare sia il proprietario che il gruppo di un file utilizzare il chowncomando seguito dal nuovo proprietario e gruppo separati da due punti ( :) senza spazi interposti e il file di destinazione.

chown USER:GROUP FILE

Il seguente comando cambierà la proprietà di un file denominato file1in un nuovo proprietario denominato linuxizee group users:

chown linuxize:users file1

Se ometti il nome del gruppo dopo i due punti ( :), il gruppo del file viene modificato nel gruppo di accesso dell’utente specificato:

chown linuxize: file1

Come modificare il gruppo di un file
Per cambiare solo il gruppo di un file usa il chowncomando seguito da due punti ( :) e il nuovo nome del gruppo (senza spazi tra di loro) e il file di destinazione come argomento:

chown :GROUP FILE

Il seguente comando cambierà il gruppo proprietario di un file denominato file1in www-data:

chown :www-data file1

Un altro comando che puoi usare per cambiare la proprietà del gruppo dei file è chgrp .

Come modificare la proprietà dei collegamenti simbolici
Quando l’opzione ricorsiva non viene utilizzata, il chowncomando cambia la proprietà del gruppo dei file a cui puntano i collegamenti simbolici , non i collegamenti simbolici stessi.

Ad esempio, se provi a cambiare il proprietario e il gruppo del collegamento simbolico symlink1che punta a /var/www/file1, chowncambierà la proprietà del file o della directory a cui punta il collegamento simbolico :

chown www-data: symlink1

È probabile che invece di cambiare la proprietà di destinazione, otterrai un errore “impossibile dereferenziare ‘symlink1’: autorizzazione negata”.

L’errore si verifica perché per impostazione predefinita sulla maggior parte delle distribuzioni Linux i collegamenti simbolici sono protetti e non è possibile operare sui file di destinazione. Questa opzione è specificata in /proc/sys/fs/protected_symlinks. 1significa abilitato e 0disabilitato. Si consiglia di non disabilitare la protezione del collegamento simbolico.

Per modificare la proprietà del gruppo del collegamento simbolico stesso, utilizzare l’ -hopzione:

chown -h www-data symlink1

Come modificare ricorsivamente la proprietà del file
Per operare in modo ricorsivo su tutti i file e le directory nella directory data, utilizzare l’ opzione -R( –recursive):

chown -R USER:GROUP DIRECTORY

L’esempio seguente cambierà la proprietà di tutti i file e le sottodirectory nella /var/wwwdirectory in un nuovo proprietario e gruppo denominato www-data:

chown -R www-data: /var/www

Se la directory contiene collegamenti simbolici passare l’ -hopzione:

chown -hR www-data: /var/www

Altre opzioni che possono essere utilizzate quando si modifica in modo ricorsivo la proprietà della directory sono -He -L.

Se l’argomento passato al chowncomando è un collegamento simbolico che punta a una directory, l’ -Hopzione farà sì che il comando la attraversi. -Ldice chowndi attraversare ogni collegamento simbolico a una directory che si incontra. Di solito, non dovresti usare queste opzioni perché potresti rovinare il tuo sistema o creare un rischio per la sicurezza.

Utilizzo di un file di riferimento
L’ –reference=ref_fileopzione consente di modificare la proprietà dell’utente e del gruppo di determinati file in modo che corrispondano a quelli del file di riferimento specificato ( ref_file). Se il file di riferimento è un collegamento simbolico chown, utilizzerà l’utente e il gruppo del file di destinazione.

chown –reference=REF_FILE FILE

Ad esempio, il seguente comando assegnerà all’utente e al gruppo la proprietà del file1tofile2

chown –reference=file1 file2

Conclusione
chown è un’utilità della riga di comando Linux/UNIX per modificare la proprietà dell’utente e/o del gruppo del file.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?