androide

Comando chown in linux (proprietà del file)

Linux File Permissions: Commands with Examples - Linux Tutorial 6

Linux File Permissions: Commands with Examples - Linux Tutorial 6

Sommario:

Anonim

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 e un gruppo e assegnati con diritti di accesso di autorizzazione per il proprietario del file, i membri del gruppo e altri.

In questo tutorial, ti mostreremo come usare il comando chown attraverso esempi pratici.

Come usare chown

Prima di andare su come usare il comando chown , iniziamo esaminando la sintassi di base.

Le espressioni del comando chown la forma seguente:

chown USER 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 indicati, la proprietà del gruppo non verrà modificata. USER: - Quando il nome utente è seguito da due punti : e il nome del gruppo non viene assegnato, l'utente diventerà il proprietario dei file e la proprietà del gruppo di file verrà cambiata nel gruppo di accesso dell'utente. USER:GROUP - Se vengono specificati sia l'utente che il gruppo (senza spazio tra loro), la proprietà dell'utente dei file viene modificata in un determinato utente e la proprietà del gruppo viene modificata in un determinato gruppo. :GROUP - Se l'utente viene omesso e il gruppo è preceduto da due punti : solo la proprietà del gruppo dei file viene cambiata in un determinato gruppo. : Se viene fornito solo un segno di due punti, senza specificare l'utente e il gruppo, non viene apportata alcuna modifica.

Di default, 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

Solo il root o l'utente con privilegi sudo possono modificare la proprietà del gruppo di un file.

Come modificare il proprietario di un file

Per modificare il proprietario di un file, utilizzare il comando chown 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 chiamato file1 in un nuovo proprietario chiamato linuxize :

chown linuxize file1

Per modificare la proprietà di più file o directory, specificarli come un elenco separato da spazi. Il comando seguente modifica la proprietà di un file chiamato file1 e della directory dir1 in un nuovo proprietario chiamato 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 file2 in 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 comando chown seguito dal nuovo proprietario e gruppo separati da due punti (:) senza spazi intermedi e il file di destinazione.

chown USER:GROUP FILE

Il seguente comando cambierà la proprietà di un file chiamato file1 in un nuovo proprietario chiamato linuxize e raggruppa gli users :

chown linuxize:users file1

Se si omette 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 comando chown seguito da due punti (:) e dal nome del nuovo gruppo (senza spazio tra loro) e il file di destinazione come argomento:

chown:GROUP FILE

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

chown:www-data file1

Un altro comando che è possibile utilizzare per modificare la proprietà del gruppo dei file è chgrp .

Come modificare la proprietà dei collegamenti simbolici

Quando l'opzione ricorsiva non viene utilizzata, il comando chown modifica la proprietà del gruppo dei file a cui punta il collegamento simbolico, non i collegamenti simbolici stessi.

Ad esempio, se si tenta di modificare il proprietario e il gruppo del collegamento simbolico symlink1 che punta a /var/www/file1 , chown cambierà la proprietà del file o della directory a cui punta il collegamento simbolico:

chown www-data: symlink1

È probabile che invece di modificare la proprietà di destinazione, si ottenga un errore "impossibile stabilire" 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 . 1 significa abilitato e 0 disabilitato. Si consiglia di non disabilitare la protezione del collegamento simbolico.

Per modificare la proprietà del gruppo del collegamento simbolico stesso, utilizzare l'opzione -h :

chown -h www-data symlink1

Come modificare in modo ricorsivo la proprietà del file

Per operare in modo ricorsivo su tutti i file e le directory nella directory specificata, utilizzare l'opzione -R ( --recursive ):

chown -R USER:GROUP DIRECTORY

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

chown -R www-data: /var/www

Se la directory contiene collegamenti simbolici, passa l'opzione -h :

chown -hR www-data: /var/www

Altre opzioni che possono essere utilizzate quando si modifica ricorsivamente la proprietà della directory sono -H e -L .

Se l'argomento passato al comando chown è un collegamento simbolico che punta a una directory, l'opzione -H farà attraversare il comando. -L dice a chown di attraversare ogni collegamento simbolico verso una directory che si incontra. Di solito, non dovresti usare queste opzioni perché potresti incasinare il tuo sistema o creare un rischio per la sicurezza.

Utilizzando un file di riferimento

L'opzione --reference=ref_file consente di modificare la proprietà dell'utente e del gruppo di determinati file in modo che siano uguali 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 comando seguente assegnerà la proprietà dell'utente e del gruppo del file1 a file2

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.

Per saperne di più sul comando chown visita la pagina man chown o digita man chown nel tuo terminale.

terminale chown