GNU/Linux >> Znalost Linux >  >> Linux

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

Příkaz chown v Linuxu umožňuje změnit vlastnictví souborů a adresářů. Můžete správně odhadnout, že „chown“ je zkratka pro „změnit vlastníka“.

Pokud tyto termíny neznáte, důrazně doporučuji přečíst si můj vysvětlující článek o oprávněních a vlastnictví souborů v Linuxu.

Zde je obrázek pro rychlé zapamatování:

Pomocí příkazu chown můžete změnit uživatelské i skupinové vlastnictví souboru nebo adresáře.

Příklady příkazu chown v Linuxu

Zde je návod, jak vypadá syntaxe příkazu chown:

chown [options] user_spec files

Mějte na paměti, že chown je administrativní příkaz, a proto musíte být root nebo mít práva sudo, abyste mohli provádět změny pomocí příkazu chown. Doufám, že víte, jak přidat uživatele sudo.

V opačném případě se zobrazí chyba podobná této:

chown: changing ownership of 'agatha.txt': Operation not permitted

Nyní se podívejme, jak používat příkaz chown s příklady.

Zde je vzorová sada, kterou použiji:

-rw-r--r-- 1 abhishek abhishek  456 Jan 24 09:30 agatha.txt
drwxr-xr-x 2 abhishek abhishek 4096 Jan 24 09:31 mydir
drwxr-xr-x 3 abhishek abhishek 4096 Jan 24 09:30 new
-rw-r--r-- 1 abhishek abhishek  356 Jan 24 09:30 sherlock.txt

1. Změňte nebo nastavte uživatelské vlastnictví souboru

Chcete-li změnit vlastnictví souboru, použijte příkaz takto:

sudo chown user_name file_name

Místo uživatelského jména můžete také použít UID (ID uživatele). Zde je příklad změn, které provádí:

[email protected]:~/tutorial$ sudo chown prakash agatha.txt 
[email protected]:~/tutorial$ ls -l agatha.txt 
-rw-r--r-- 1 prakash abhishek 456 Jan 24 09:30 agatha.txt

Jak můžete vidět, vlastník souboru se změnil na „prakash“ z „abhishek“, ale skupina zůstává „abhishek“. Dovolte mi, abych vám ukázal, jak změnit vlastnictví uživatele i vlastnictví skupiny.

2. Změňte vlastnictví uživatele a skupiny

Chcete-li změnit vlastnictví uživatele a skupiny souboru, můžete určit skupinu s uživatelským jménem odděleným sloupcem, jako je tento:

sudo chown user_name:group_name file_name

Samozřejmě můžete místo uživatelského jména a názvu skupiny použít UID a GID.

[email protected]:~/tutorial$ sudo chown prakash:adm sherlock.txt 
[email protected]:~/tutorial$ ls -l sherlock.txt 
-rw-r--r-- 1 prakash adm 356 Jan 24 09:30 sherlock.txt

Jak můžete vidět v příkladu výše, změnil jsem uživatele souboru sherlock.txt na „prakash“ a skupinu na „adm“.

3. Změňte skupinu na výchozí skupinu uživatele

Každý uživatel má výchozí nebo primární skupinu. Pokud uživatel vytvoří nový soubor nebo adresář, tato primární skupina se automaticky stane vlastníkem souboru. Výchozí skupinu uživatele můžete vypsat pomocí příkazu id.

Nyní, pokud chcete změnit skupinové vlastnictví souboru na výchozí skupinu uživatele, měli byste ponechat název skupiny za dvojtečkou.

sudo chown user_name: file_name

Jak můžete vidět na příkladu níže, vlastník souboru sherlock.text ‘prakash “ a vlastník skupiny „adm ‘. Změnil jsem vlastníka na „abhishek“, ale neuvedl jsem název skupiny. A přesto to změnilo skupinu z „adm“ na výchozí skupinu „abhishek“.

[email protected]:~/tutorial$ ls -l sherlock.txt 
-rw-r--r-- 1 prakash adm 356 Jan 24 09:30 sherlock.txt
[email protected]:~/tutorial$ sudo chown abhishek: sherlock.txt 
[email protected]:~/tutorial$ id abhishek
uid=1000(abhishek) gid=1000(abhishek) groups=1000(abhishek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),999(docker)
[email protected]:~/tutorial$ ls -l sherlock.txt 
-rw-r--r-- 1 abhishek abhishek 356 Jan 24 09:30 sherlock.txt

4. Změňte pouze skupinu

Pokud chcete pouze změnit skupinu, aniž byste byli obtěžováni vlastníkem uživatele, můžete použít příkaz chown takto:

sudo chown :group_name file_name

V níže uvedeném příkladu jsem nastavil vlastnictví skupiny na sudo, aniž bych se dotkl vlastnictví uživatele:

[email protected]:~/tutorial$ ls -l agatha.txt 
-rw-r--r-- 1 prakash abhishek 456 Jan 24 09:30 agatha.txt
[email protected]:~/tutorial$ sudo chown :sudo agatha.txt 
[email protected]:~/tutorial$ ls -l agatha.txt 
-rw-r--r-- 1 prakash sudo 456 Jan 24 09:30 agatha.txt

5. Změna vlastnictví uživatele a skupiny adresáře rekurzivně

Ve všech výše uvedených příkazech můžete nahradit soubor adresářem a bude to fungovat stejně pro změnu vlastnictví adresáře.

Jediným problémem je, že ve výchozím nastavení se vlastnictví obsahu v adresáři nemění.

Chcete-li změnit vlastnictví adresáře spolu s veškerým obsahem v adresáři, můžete použít rekurzivní volbu -R.

sudo chown -R user_name:group_name directory_name

6. Nastavte stejné vlastnictví uživatele a skupiny jako referenční soubor

Můžete použít soubor jako referenci a změnit uživatelské a skupinové vlastnictví souboru na základě referenčního souboru tímto způsobem:

sudo chown --reference=file1.txt file2.txt

V níže uvedeném příkladu byl jako reference použit soubor agatha.txt. A jak můžete vidět, vlastnictví souboru sherlock.txt bylo změněno na základě souboru agatha.txt.

[email protected]:~/tutorial$ ls -l agatha.txt sherlock.txt 
-rw-r--r-- 1 prakash  sudo     456 Jan 24 09:30 agatha.txt
-rw-r--r-- 1 abhishek abhishek 356 Jan 24 09:30 sherlock.txt
[email protected]:~/tutorial$ sudo chown --reference=agatha.txt sherlock.txt
[email protected]:~/tutorial$ ls -l agatha.txt sherlock.txt 
-rw-r--r-- 1 prakash sudo 456 Jan 24 09:30 agatha.txt
-rw-r--r-- 1 prakash sudo 356 Jan 24 09:30 sherlock.txt

Myslím, že máte dostatek příkladů příkazu chown, abyste to pochopili. Pro více podrobností se vždy můžete podívat na manuálovou stránku chown.

Máte-li dotazy nebo návrhy, dejte mi vědět.


Linux
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Jak používat příkaz id v Linuxu:5 užitečných příkladů

  3. Jak používat Chown v Ubuntu

  1. Jak používat Su Command v Linuxu

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

  3. Jak používat příkaz chmod (Change Mode) v Linuxu

  1. Jak používat příkaz Disown v Linuxu

  2. Jak používat příkaz Linux SS

  3. Jak mohu změnit výchozí skupinu uživatele v systému Linux?