Il comandochown
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 a un gruppo e assegnati con i diritti di accesso alle autorizzazioni per il proprietario del file, i membri del gruppo e altri.
In questo tutorial, vi mostreremo come utilizzare il comando chown
attraverso esempi pratici.,
Come usare chown #
Prima di entrare in come usare il comandochown
, iniziamo rivedendo la sintassi di base.
chown
comando espressioni assume la seguente forma:
chown USER FILE(s)
USER
è il nome utente o l’ID utente (UID) del nuovo proprietario. GROUP
è il nome del nuovo gruppo o dell’ID gruppo (GID). FILE(s)
è il nome di uno o più file, directory o link., Gli ID numerici devono essere preceduti dal simbolo+
.
-
USER
– Se viene specificato solo l’utente, l’utente specificato diventerà il proprietario dei file specificati, la proprietà del gruppo non viene modificata. -
USER:
– Quando il nome utente è seguito da due punti:
, e il nome del gruppo non è dato, l’utente diventerà il proprietario dei file, e la proprietà del gruppo di file viene cambiato in gruppo di login 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.
Uso ls -l
comando per scoprire chi è il proprietario di 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 changethe gruppo del file solo se si possiede 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 Modificare il Proprietario di un File #
Per modificare il proprietario di un file, utilizzare il tag chown
comando seguito dal nome del nuovo proprietario e la destinazione del file come argomento:
chown USER FILE
Per esempio, il comando seguente consente di modificare le proprietà di un file chiamato file1
a un nuovo proprietario denominato linuxize
:
chown linuxize file1
Per modificare le proprietà di più file o directory, specificare un elenco separato da spazi., Il comando seguente modifica la proprietà di un file denominato file1
e della directory dir1
in un nuovo proprietario denominato linuxize
:
chown linuxize file1 dir1
È possibile utilizzare l’ID utente numerico (UID) invece del nome utente. L’esempio seguente cambierà la proprietà di un file denominatofile2
in un nuovo proprietario con UID di1000
:
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 e il gruppo di un file, utilizzare il tag chown
comando seguito dal nuovo proprietario e il gruppo separati da una virgola (:
) senza spazi e il file di destinazione.,id=”61de68025d”>
Come Cambiare il Gruppo di un File #
Per cambiare solo il gruppo di un file, utilizzare il tag chown
comando, seguito da due punti (:
) e il nuovo nome del gruppo (senza spazio tra di loro) e il file di destinazione come argomento:
chown :GROUP FILE
Il comando seguente consente di modificare il gruppo proprietario di un file chiamato file1
www-data
:
chown :www-data file1
un Altro comando che è possibile utilizzare per modificare il gruppo proprietario del file chgrp
.,
Come modificare la proprietà dei collegamenti simbolici #
Quando l’opzione ricorsiva non viene utilizzata, il comandochown
modifica la proprietà del gruppo dei file a cui puntano i collegamenti simbolici, non i collegamenti simbolici stessi.,
Per esempio, se si tenta di modificare il proprietario e il gruppo del collegamento simbolico symlink1
che punta a /var/www/file1
chown
sarà modificare le proprietà del file o della directory il link simbolico punti:
chown www-data: symlink1
le Probabilità sono che invece di cambiare la destinazione della proprietà, si otterrà un “impossibile risolvere ‘symlink1’: Permesso negato”.
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.,-R
(--recursive
) opzione:
chown -R USER:GROUP DIRECTORY
L’esempio seguente modificare la proprietà di tutti i file e sottodirectory /var/www
directory di un nuovo proprietario e il gruppo denominato www-data
:
chown -R www-data: /var/www
Se la directory che contiene i collegamenti simbolici passare il -h
opzioni:
chown -hR www-data: /var/www
Altre opzioni che possono essere utilizzati quando ricorsivamente cambiare la directory di proprietà sono: -H
e -L
.,
Se l’argomento passato al comandochown
è un collegamento simbolico che punta a una directory, l’opzione-H
farà sì che il comando lo attraversi. -L
dice achown
di attraversare ogni collegamento simbolico in 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.,
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 simbolicochown
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à di file1
a file2