GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Chown v Linuxu (Změnit vlastnictví souboru)

V Linuxu a operačních systémech podobných Unixu jsou všechny soubory, adresáře a procesy (což jsou opět soubory) ve vlastnictví uživatelů. Skupina je sada uživatelů, kteří sdílejí stejná přístupová oprávnění (tj. čtení, zápis a spouštění) pro tyto objekty (soubory/adresáře).

Příkaz chown se v Linuxu používá ke změně uživatelského a skupinového vlastnictví souborů, adresářů a symbolických odkazů.

V tomto tutoriálu vám na několika praktických příkladech ukážu, jak používat příkaz chown.

Syntaxe Chown

Zkontrolujte základní syntaxi příkazu chown následovně:

chown [OPTIONS] USER[:GROUP] FILE/DIRECTORY

Můžete spustit ls -l příkaz k tisku podrobností o vlastnictví souboru.

V následujícím výstupu můžete vidět, že soubor 'myfile.txt' vlastní uživatel 'tom' a skupina je vlastněna 'vývojáři':

$ ls -l
-rw-r--r-- 1 tom  developers   0 Apr  4 01:35 myfile.txt

Změna vlastnictví souboru

Chcete-li změnit vlastnictví souboru, použijte chown se jménem nového vlastníka a názvem souboru, u kterého je třeba vlastníka změnit.

Následující příkaz změní vlastnictví souboru s názvem 'myfile.txt' na nového uživatele 'tom':

# chown tom myfile.txt

Pokud byl příkaz úspěšně proveden, nezobrazí se na terminálu žádný výstup. Nechte ověřit pomocí ls -l příkaz takto:

# ls -l myfile.txt
-rw-r--r-- 1 tom root 623 Dec 10 2012 myfile.txt

Změna vlastníka a skupiny souboru

Pokud za vlastníkem následuje dvojtečka (: ) a název skupiny (bez mezer), název skupiny se také změní.

Následující příklad ukazuje, jak změnit vlastníka a skupinu pro soubor s názvem 'myfile.txt':

# chown tom:developers myfile.txt

Nyní je novým vlastníkem souboru 'tom' a novým vlastníkem skupiny je skupina 'vývojáři'.

# ls -l myfile.txt
-rw-r--r-- 1 tom developers 424 Dec 10 2012 myfile.txt

Pokud odstraníte název skupiny za dvojtečkou, skupina souboru se změní na zadanou uživatelskou přihlašovací skupinu:

# chown tom: myfile.txt
# ls -l myfile.txt
-rw-r--r-- 1 tom tom 453 Dec 10 2012 myfile.txt

Pokud je uvedena dvojtečka (:) a skupina, změní se pouze skupina souboru. V tomto případě příkaz funguje jako příkaz chgrp.

# chown :developers myfile.txt
# ls -l myfile.txt
-rw-r--r-- 1 tom developers 1579 Dec 10 2012 myfile.txt

Změna vlastnictví adresářů rekurzivně

Chcete-li rekurzivně použít vlastnictví na všechny soubory a adresáře v daném adresáři, použijte -R možnost

V následujícím příkladu se vlastnictví všech souborů a adresářů pod '/var/www/html' rekurzivně změní na 'linoxide' a vlastnictví skupiny na 'www-data':

# chown linoxide:www-data -R /var/www/html

Podrobný výstup

--verbose zobrazí všechny změny vlastnictví na terminálu. Vypisuje diagnostiku pro každý zpracovávaný soubor.

Například:

# chown -R --verbose jones /home/jones/
changed ownership of `/home/jones/hello' to jones
changed ownership of `/home/jones/.emacs' to jones
changed ownership of `/home/jones/.bash_history' to jones
changed ownership of `/home/jones/.bash_logout' to jones
changed ownership of `/home/jones/.bashrc' to jones
changed ownership of `/home/jones/file1' to jones

Možnost verbose vypíše zpracování každého souboru, i když nebyly provedeny změny. Ale s -c nebo --changes je výstup hlášen pouze při provedení změn.

Změnit vlastnictví symbolických odkazů

Ve výchozím nastavení chown příkaz nezmění vlastnictví symbolických odkazů, spíše změní vlastnictví cílového souboru. Chmod má volbu -h které lze použít ke změně vlastnictví symbolických odkazů.

Zkontrolujte následující příklad:

# chown -h tom vmlinuz
# ls -l
total 0
lrwxrwxrwx 1 tom root 31 Apr  5 00:50 vmlinuz -> /boot/vmlinuz-4.15.0-88-generic

Změnit vlastnictví stejně jako referenční soubor

Můžete odkazovat na soubor, ze kterého chown zkopírujte vlastnictví stejného uživatele a skupiny do nového souboru.

V následujícím příkazu --reference=myfile1.txt možnost poskytnout referenční soubor a vlastnictví přiřazené k souboru s názvem 'myfile2.txt':

# chown --reference=myfile1.txt myfile2.txt

Tichý provoz

Normální uživatel nemůže změnit vlastnictví souborů vlastněných ostatními. Když se normální uživatel pokusí změnit vlastnictví, zobrazí se chyba.

[tom@node051 ~]$ chown tom /etc/
chown: changing ownership of `/etc/': Operation not permitted

Ale pokud použijeme -f nebo --silent nebo --quiet chyba se nezobrazí.

[tom@node051 ~]$ chown -f tom /etc/
[tom@node051 ~]$

Jak zachovat kořenový adresář

Příkaz Chmod má volbu --preserve-root aby chmod nepůsobil rekurzivně na / . Tato volba by měla být použita s -R možnost vstoupit v platnost.

[root@node051 ~]# chown -c --preserve-root tom /
changed ownership of '/' from root to tom

Pouze oprávnění / se změní a vlastnictví souborů a adresářů uvnitř / zůstane stejný.

[root@node051 ~]# ls -ld /
drwxr-xr-x 23 tom root 4096 Feb 19 14:36 /
[root@node051 ~]# ls -l
total 88
drwxr-xr-x   2 root root  4096 Feb 19 14:33 bin
drwxr-xr-x   3 root root  4096 Feb 19 14:36 boot
drwxr-xr-x  16 root root  3660 Mar 28 11:09 dev
drwxr-xr-x  90 root root  4096 Apr  4 02:28 etc
drwxr-xr-x   2 root root  4096 Feb 19 14:35 home
lrwxrwxrwx   1 root root    33 Feb 19 14:35 initrd.img -> boot/initrd.img-4.15.0-88-generic
lrwxrwxrwx   1 root root    33 Feb 19 14:29 initrd.img.old -> boot/initrd.img-4.15.0-76-generic
drwxr-xr-x  22 root root  4096 Feb 19 14:37 lib
drwxr-xr-x   2 root root  4096 Feb 19 14:28 lib64
drwx------   2 root root 16384 Feb 19 14:27 lost+found

Závěr

V tomto tutoriálu jsme se naučili, jak změnit vlastnictví souborů a adresářů v Linuxu. Děkujeme za přečtení a dejte nám vědět své komentáře.


Linux
  1. Linux chmod and chown – Jak změnit oprávnění a vlastnictví souborů v Linuxu

  2. Jak používat příkaz chown ke změně vlastnictví v Linuxu

  3. Příkaz wc pro Linux

  1. Příkaz Chown:Změna vlastníka souboru v Linuxu

  2. Jak změnit vlastníka souboru/skupiny pomocí příkazu chown v systému Linux

  3. Příklady příkazů chown v Linuxu

  1. Linux Tail Command

  2. Linux Touch Command

  3. Cat Command v Linuxu