GNU/Linux >> Znalost Linux >  >> Linux

Chown Command v Linuxu (vlastnictví souboru)

chown umožňuje změnit vlastnictví uživatele a/nebo skupiny daného souboru, adresáře nebo symbolického odkazu.

V Linuxu jsou všechny soubory spojeny s vlastníkem a skupinou a jsou jim přiřazena přístupová práva pro vlastníka souboru, členy skupiny a další.

V tomto tutoriálu vám ukážeme, jak používat chown velení pomocí praktických příkladů.

Jak používat chown #

Než se pustíte do toho, jak používat chown příkaz, začněme zopakováním základní syntaxe.

chown příkazové výrazy mají následující tvar:

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

USER je uživatelské jméno nebo uživatelské ID (UID) nového vlastníka. GROUP je název nové skupiny nebo ID skupiny (GID). FILE(s) je název jednoho nebo více souborů, adresářů nebo odkazů. Číselná ID by měla mít předponu + symbol.

  • USER - Pokud je zadán pouze uživatel, stane se zadaný uživatel vlastníkem daných souborů, vlastnictví skupiny se nezmění.
  • USER: - Když za uživatelským jménem následuje dvojtečka : a název skupiny není uveden, uživatel se stane vlastníkem souborů a vlastnictví skupiny souborů se změní na přihlašovací skupinu uživatele.
  • USER:GROUP - Pokud je zadán uživatel i skupina (bez mezery mezi nimi), změní se uživatelské vlastnictví souborů na daného uživatele a vlastnictví skupiny se změní na danou skupinu.
  • :GROUP - Pokud je vynechán uživatel a před skupinou je dvojtečka : , na danou skupinu se změní pouze skupinové vlastnictví souborů.
  • : Pokud pouze dvojtečka : je dáno, bez určení uživatele a skupiny se neprovede žádná změna.

Ve výchozím nastavení při úspěchu chown neprodukuje žádný výstup a vrací nulu.

Použijte ls -l příkaz ke zjištění, kdo vlastní soubor nebo do jaké skupiny soubor patří:

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

Normální uživatelé mohou změnit skupinu souboru pouze v případě, že vlastní soubor a pouze do skupiny, jejímž jsou členem. Administrativní uživatelé mohou změnit skupinové vlastnictví všech souborů.

Jak změnit vlastníka souboru #

Chcete-li změnit vlastníka souboru, použijte chown příkaz následovaný uživatelským jménem nového vlastníka a cílovým souborem jako argument:

chown USER FILE

Například následující příkaz změní vlastnictví souboru s názvem file1 novému vlastníkovi s názvem linuxize :

chown linuxize file1

Chcete-li změnit vlastnictví více souborů nebo adresářů, zadejte je jako seznam oddělený mezerami. Níže uvedený příkaz změní vlastnictví souboru s názvem file1 a adresář dir1 novému vlastníkovi s názvem linuxize :

chown linuxize file1 dir1

Místo uživatelského jména lze použít číselné ID uživatele (UID). Následující příklad změní vlastnictví souboru s názvem file2 na nového vlastníka s UID 1000 :

chown 1000 file2

Pokud jako uživatelské jméno existuje číselný vlastník, bude vlastnictví převedeno na uživatelské jméno. Chcete-li se vyhnout této předponě ID s + :

chown 1000 file2

Jak změnit vlastníka a skupinu souboru #

Chcete-li změnit vlastníka i skupinu souboru, použijte chown příkaz následovaný novým vlastníkem a skupinou oddělenými dvojtečkou (: ) bez mezer a cílového souboru.

chown USER:GROUP FILE

Následující příkaz změní vlastnictví souboru s názvem file1 novému vlastníkovi s názvem linuxize a skupina users :

chown linuxize:users file1

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

chown linuxize: file1

Jak změnit skupinu souboru #

Chcete-li změnit pouze skupinu souboru, použijte chown příkaz následovaný dvojtečkou (: ) a název nové skupiny (bez mezery mezi nimi) a cílový soubor jako argument:

chown :GROUP FILE

Následující příkaz změní vlastnící skupinu souboru s názvem file1 na www-data :

chown :www-data file1

Dalším příkazem, který můžete použít ke změně skupinového vlastnictví souborů, je chgrp .

Pokud není použita rekurzivní možnost, chown příkaz změní skupinové vlastnictví souborů, na které symbolické odkazy ukazují, nikoli samotné symbolické odkazy.

Pokud se například pokusíte změnit vlastníka a skupinu symbolického odkazu symlink1 který ukazuje na /var/www/file1 , chown změní vlastnictví souboru nebo adresáře, na který symbolický odkaz ukazuje:

chown www-data: symlink1

Je pravděpodobné, že namísto změny cílového vlastnictví se zobrazí chyba „nelze dereference ‚symlink1‘:Povolení odepřeno“.

K chybě dochází, protože ve výchozím nastavení jsou ve většině distribucí Linuxu symbolické odkazy chráněny a s cílovými soubory nelze pracovat. Tato možnost je specifikována v /proc/sys/fs/protected_symlinks . 1 znamená povoleno a 0 zakázáno. Doporučujeme nevypínat ochranu symbolických odkazů.

Chcete-li změnit skupinové vlastnictví samotného symbolického odkazu, použijte -h možnost:

chown -h www-data symlink1

Jak rekurzivně změnit vlastnictví souboru #

Chcete-li rekurzivně pracovat se všemi soubory a adresáři v daném adresáři, použijte -R (--recursive ) možnost:

chown -R USER:GROUP DIRECTORY

Následující příklad změní vlastnictví všech souborů a podadresářů pod /var/www adresář na nového vlastníka a skupinu s názvem www-data :

chown -R www-data: /var/www

Pokud adresář obsahuje symbolické odkazy, předejte -h možnost:

chown -hR www-data: /var/www

Další možnosti, které lze použít při rekurzivní změně vlastnictví adresáře, jsou -H a -L .

Pokud je argument předán do chown příkaz je symbolický odkaz, který ukazuje na adresář, -H volba způsobí, že ji příkaz projde. -L říká chown k procházení každého symbolického odkazu do adresáře, na který narazíte. Obvykle byste tyto možnosti neměli používat, protože byste mohli poškodit systém nebo vytvořit bezpečnostní riziko.

Použití referenčního souboru #

--reference=ref_file možnost umožňuje změnit vlastnictví uživatele a skupiny daných souborů tak, aby byly stejné jako u zadaného referenčního souboru (ref_file ). Pokud je referenčním souborem symbolický odkaz chown použije uživatele a skupinu cílového souboru.

chown --reference=REF_FILE FILE

Například následující příkaz přiřadí uživatelské a skupinové vlastnictví file1 do file2

chown --reference=file1 file2

Závěr č.

chown je nástroj příkazového řádku systému Linux/UNIX pro změnu vlastnictví uživatele a/nebo skupiny souboru.

Chcete-li se dozvědět více o chown navštivte manuálovou stránku chown nebo zadejte man chown ve vašem terminálu.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


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. Linux su příkaz

  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. Linux Tail Command

  1. Linux Touch Command

  2. Cat Command v Linuxu

  3. Příkaz souboru Linux