Android

Vyvolený příkaz v Linuxu (vlastnictví souboru)

Fedora Linux - Terminál a příkaz ls #06

Fedora Linux - Terminál a příkaz ls #06

Obsah:

Anonim

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

V systému Linux 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 příkaz chown pomocí praktických příkladů.

Jak používat chown

Než se podíváme na to, jak používat příkaz chown , začneme kontrolou základní syntaxe.

Výrazy příkazů chown mají následující podobu:

chown USER FILE(s)

USER je uživatelské jméno nebo ID uživatele (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 být opatřena předponou + .

  • USER - Pokud je zadán pouze uživatel, určený uživatel se stane vlastníkem daných souborů, vlastnictví skupiny se nezmění. USER: - Pokud 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 mezer mezi nimi), vlastnictví uživatele souborů se změní na daného uživatele a vlastnictví skupiny se změní na danou skupinu. :GROUP - Pokud je Uživatel vynechán a skupina je předponována dvojtečkou:, změní se na danou skupinu pouze skupinové vlastnictví souborů. : Je-li uveden pouze dvojtečka:, aniž by byl zadán uživatel a skupina, nedojde k žádné změně.

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

Pomocí příkazu ls -l zjistěte, kdo vlastní soubor nebo do které skupiny soubor patří:

ls -l filename.txt

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

Skupinové vlastnictví souboru může změnit pouze uživatel root nebo uživatel s právy sudo .

Jak změnit vlastníka souboru

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

chown USER FILE

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

chown linuxize file1

Chcete-li změnit vlastnictví více souborů nebo adresářů, zadejte je jako seznam oddělený mezerami. Příkaz níže změní vlastnictví souboru s názvem file1 a adresáře dir1 na nového vlastníka 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 numerický vlastník existuje jako uživatelské jméno, bude vlastnictví převedeno na uživatelské jméno. Chcete-li se vyhnout této předponě ID pomocí + :

chown 1000 file2

Jak změnit vlastníka a skupinu souboru

Chcete-li změnit vlastníka a skupinu souboru, použijte příkaz chown následovaný novým vlastníkem a skupinou oddělenou 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 na nového vlastníka s názvem linuxize a group users :

chown linuxize:users file1

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

chown linuxize: file1

Jak změnit skupinu souboru

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

chown:GROUP FILE

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

chown:www-data file1

Další příkaz, který můžete použít ke změně vlastnictví souborů ve skupině, je chgrp .

Jak změnit vlastnictví symbolických odkazů

Pokud není použita rekurzivní volba, příkaz chown změní vlastnictví skupiny souborů, na které odkazuje symbolický odkaz, nikoli samotné symbolické odkazy.

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

chown www-data: symlink1

Je pravděpodobné, že namísto změny cílového vlastnictví se zobrazí chyba „nelze dereference 'symlink1': Oprávnění odepřeno“.

K chybě dochází, protože ve výchozím nastavení je většina linuxových distribucí chráněna symbolickými odkazy a nemůžete pracovat s cílovými soubory. Tato volba je uvedena v /proc/sys/fs/protected_symlinks . 1 znamená povoleno a 0 deaktivováno. Doporučujeme ochranu symlink deaktivovat.

Chcete-li změnit vlastnictví skupiny samotného symbolu, použijte volbu -h :

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 volbu -R ( --recursive ):

chown -R USER:GROUP DIRECTORY

Následující příklad změní vlastnictví všech souborů a podadresářů v adresáři /var/www 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 volbu -h :

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ředaný příkazu chown symbolickým odkazem, který odkazuje na adresář, volba -H způsobí, že příkaz tento příkaz projde. -L řekne chown aby procházel každý symbolický odkaz do adresáře, na který se narazí. Obvykle byste tyto možnosti neměli používat, protože by se váš systém mohl pokazit nebo vytvořit bezpečnostní riziko.

Použití referenčního souboru

Volba --reference=ref_file vám umožňuje změnit uživatelské a skupinové vlastnictví daných souborů tak, aby odpovídaly vlastníkům zadaného referenčního souboru ( ref_file ). Pokud je referenční soubor symbolickým odkazem, bude chown používat 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 k file2

chown --reference=file1 file2

Závěr

chown je utilita příkazového řádku systému Linux / UNIX pro změnu vlastnictví souboru a / nebo vlastnictví souboru.

Chcete-li se dozvědět více o příkazu chown navštivte stránku man chown do svého terminálu napište man chown .

chown terminál