GNU/Linux >> Znalost Linux >  >> Linux

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

Zkratka pro změnit vlastnictví , Příkaz Chown je nástroj příkazového řádku, který se používá ke změně vlastnictví uživatele nebo skupiny souboru nebo adresáře a dokonce i odkazů. Filozofie Linuxu je taková, že každý soubor nebo adresář vlastní konkrétní uživatel nebo skupina s určitými přístupovými právy.

Na různých příkladech si vyzkoušíme a uvidíme různé případy použití příkazu chown. Příkaz Chown využívá poměrně jednoduchou a přímočarou syntaxi.

$ chown MOŽNOSTI UŽIVATEL:GROUP soubory

Pojďme si stručně přiblížit parametry:

Atribut USER odkazuje na uživatelské jméno uživatele, který bude soubor vlastnit. Můžete zadat buď uživatelské jméno, nebo UID ( Uživatelské ID). Mezitím GROUP volba označuje název nové skupiny, kterou soubor získá po spuštění příkazu. Možnost soubor představuje běžný soubor nebo adresář nebo dokonce symbolický odkaz. Toto jsou tři entity, jejichž oprávnění lze změnit.

Několik poznámek:

1) Pokud je zadána pouze možnost  USER, vlastnictví souboru/adresáře se změní na vlastnictví zadaného uživatele, zatímco vlastnictví skupiny zůstane nezměněno. Zde je příklad:

$ chown john file1.txt

Ve výše uvedeném příkazu se změní uživatelské vlastnictví souboru file1.txt z aktuálního uživatele na uživatele john.

2) Pokud je za možností  USER plná dvojtečka, tj. USER:a není zadán název skupiny, pak uživatel převezme vlastnictví souboru, ale skupinové vlastnictví souboru se přepne na přihlašovací skupinu uživatele. Například:

$ chown john: file1.txt

V tomto příkladu uživatel john převezme vlastnictví souboru file1.txt, ale skupinové vlastnictví souboru se změní na john's login group.

3) Pokud jsou zadány možnosti uživatele i skupiny oddělené dvojtečkou, tj. USER:GROUP  – bez mezer – soubor převezme vlastnictví nového uživatele a skupiny, jak je uvedeno

$ chown john:john file1.txt

Ve výše uvedeném příkladu soubor přebírá vlastnictví uživatele a skupiny uživatele john.

4)  Pokud je vynechána možnost USER a místo toho je před možností skupiny uvedena dvojtečka :GROUP, změní se pouze skupinové vlastnictví souboru.

Jak zobrazit oprávnění k souboru

Chcete-li zobrazit oprávnění k souboru, jednoduše použijte příkaz ls -l následovaný názvem souboru

$ ls -l název_souboru

Například:

$ ls -l file1.txt

Z výstupu můžeme vidět, že soubor je vlastněn uživatelem linuxtechi, který patří do skupiny linuxtechi ve 3. a 4. sloupci.

Jak změnit vlastníka souboru pomocí příkazu chown

Před změnou oprávnění vždy vyvolejte sudo, pokud nepracujete jako uživatel root. To vám dává zvýšená oprávnění ke změně vlastnictví uživatele a skupiny souboru.

Chcete-li změnit vlastnictví souboru, použijte syntaxi:

$ sudo chown uživatelské jméno souboru

Například,

$ sudo chown james file1.txt

Z výstupu můžete jasně vidět, že vlastnictví souboru se změnilo z linuxtechi na uživatele james.

Alternativně můžete místo použití uživatelského jména předat UID uživatele. Chcete-li získat UID, prohlédněte si soubor /etc/passwd.

$ cat /etc/passwd | grep username

Z příkladu níže vidíme, že UID uživatele linuxtechi je 1002

Chcete-li změnit vlastnictví souboru zpět na uživatele linuxtechi, provedeme příkaz:

$ sudo chown 1002 file1.txt

Jak změnit vlastníka skupiny pomocí příkazu chown

Jak již bylo zmíněno dříve, chcete-li změnit vlastníka skupiny souboru, vynechejte uživatele a jednoduše před název skupiny uveďte plnou dvojtečku.

$ sudo chown :skupinový soubor

Chcete-li například změnit vlastníka skupiny souboru file1.txt z linuxtechi na docker, provedli jsme příkaz:

$ sudo chown :docker file1.txt

Jak změnit vlastníka souboru i vlastníka skupiny souboru

Chcete-li změnit vlastníka i skupinu, do které soubor patří, zadejte možnosti uživatele i skupiny oddělené plnou dvojtečkou, jak je uvedeno v syntaxi níže. Ujistěte se, že mezi možnostmi a dvojtečkou nejsou žádné mezery.

$ sudo chown user:group filename

Například následující příkaz změní vlastnictví souboru file1.txt  na uživatele james a group redis, jak bylo ověřeno pomocí příkazu ls.

$ sudo chown james:redis file1.txt

Jak rekurzivně změnit vlastnictví souboru

Když aplikujete oprávnění na adresáře, možná budete chtít aplikovat změny rekurzivně, tj. provést změny vlastnictví tak, aby sestoupily a použily se na soubory a podadresáře. Abyste toho dosáhli, použijte rekurzivní volbu -R nebo –rekurzivní direktivu.

$ sudo chown -R uživatel:adresář skupiny

Například příkaz níže přiřadí všechny soubory a složky ve vlastnictví adresáře /var/www skupině www-data.

$ sudo chown -R :www-data /var/www

Níže uvedený příklad přiděluje uživateli linuxtechi vlastnictví adresářových sestav spolu se všemi soubory a složkami v adresáři.

$ sudo chown -R linuxtechi reports

Jak změnit vlastnictví pomocí referenčního souboru

A konečně, existuje šikovný způsob, který můžete použít ke změně vlastnictví souboru, a to pomocí referenčního souboru. Pomocí příkazu chown můžete změnit uživatelské a skupinové vlastnictví souboru pomocí jiného souboru jako referenčního bodu.

Syntaxe je uvedena níže:

$ chown –reference=soubor ref_file

Předpokládejme, že chcete přiřadit uživatelské a skupinové vlastnictví souboru file1.txt jinému souboru file2.txt. jak byste na to šli? To je znázorněno v příkazu níže.

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

Výše uvedený výstup potvrzuje, že soubor2.txt zdědí uživatelské a skupinové vlastnictví souboru1.txt. V příkazu je referenčním souborem soubor1.txt.

Závěr

Příkaz Chown je výkonný nástroj, který se používá pro správu vlastnictví souborů a adresářů. Pro další informace se podívejte na manuálové stránky chown.

$ man chown

Přečtěte si také :Linuxový příkaz Zip a rozbalení s příklady


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. 5 příkladů dotykových příkazů Linuxu (jak změnit časové razítko souboru)

  1. Přidat uživatele do skupiny v Linuxu, jak na to (s příklady)

  2. 12 Příklady příkazů Linux Chown pro změnu vlastníka a skupiny

  3. Jak nahradit soubor v jar příkazovým řádkem v linuxu?

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

  2. Jak změnit uživatelské heslo v Linuxu

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