Jednou za čas budete čelit vyhlídce na změnu oprávnění souborů a složek. Příkaz chown pro Linux vám umožňuje upravit oprávnění k souborům a adresářům, jak uznáte za vhodné. To se hodí zejména při konfiguraci funkcí a služeb. Podívejme se, jak lze příkaz použít.
Syntaxe příkazu Linux chown
Syntaxe pro použití příkazu chown je uvedena:
chown [option] [owner]:[group] file
Podívejme se na několik možností, které jsou součástí příkazu.
Změna vlastnictví souboru
Jak změníte vlastnictví souboru? Syntaxe je poměrně jednoduchá, jak je uvedeno níže.
chown [owner] file
Podívejme se na soubor 'newfile.txt'
vytvořeno uživatelem „james“. Ve výchozím nastavení tento soubor patří uživateli „james“ a skupině „james“, jak je uvedeno ve výstupu níže.
ls -l
jak je uvedeno níže.
Ukázkový výstup
Jak je znázorněno, první atribut za oprávněními souboru označuje uživatele kdo soubor vlastní a druhý atribut označuje skupinu, do které soubor patří.
Chcete-li změnit vlastnictví souboru na jiného uživatele, například uživatele root, spusťte:
chown root newfile.txt
Chcete-li ověřit změnu vlastnictví, znovu použijte ls -l
příkaz.
Ukázkový výstup
Někdy můžete čelit problémům s oprávněním při spuštění příkazu chown. Například změna vlastnictví souboru, který patří jinému uživateli. V takovém případě spusťte příkaz pomocí sudo a ujistěte se, že uživatel má oprávnění sudo.
Změna skupiny, do které soubor patří
Z předchozího příkladu se nám podařilo změnit vlastnictví souboru z jednoho uživatele na druhého. Pokud jste však byli dostatečně horliví, museli jste pozorovat, že se skupina nezměnila. Změna skupiny, do které soubor patří, je velmi podobná změně uživatele. Syntaxe se trochu liší, jak je znázorněno
chown :[group-name] [file-name]
Chcete-li například změnit vlastnictví skupiny na root uživatelský běh
chown :root newfile.txt
Ukázkový výstup
Tentokrát se nám podařilo změnit skupinu souboru.
Změna uživatele i skupiny, do které soubor patří, jedním příkazem
Pokud si chcete usnadnit práci a změnit uživatele i skupinu, do které soubor patří, použijte syntaxi
chown user:group newfile.txt
Chcete-li například změnit uživatele i skupinu na „james ‘ provést:
chown james:james newfile.txt
Ukázkový výstup
Změna vlastnictví adresáře
Promluvme si nyní o změně vlastnictví adresářů. Syntaxe zůstává poměrně podobná,
chown user:group ./directory-name/
Mám adresář s názvem linux
vytvořený uživatelem root a obsahuje 3 textové soubory:
file1.txt
file2.txt
file3.txt
Chcete-li změnit uživatele a skupinu na „james“, spusťte
chown james:james ./linux/
Ukázkový výstup
Jak jste jasně poznamenali, navzdory změně uživatele a skupiny, do které adresář patří, zůstává obsah adresáře nezměněn. Abychom převedli vlastnictví souborů až na obsah složky, budeme rekurzivně měnit oprávnění, jak se dozvíte v dalším dílčím tématu.
Rekurzivně změnit oprávnění k souboru v adresáři
Chcete-li rekusivně ovlivnit oprávnění k souboru, použijte -R
možnost
chown -R root:root linux
Ukázkový výstup
Z výstupu jasně vidíme, že souborová oprávnění byla ovlivněna soubory obsaženými v adresáři ‚linux‘.
Změna UID a GID souboru
Namísto zadání uživatele nebo skupiny v příkazu chown se lze rozhodnout zadat GID nebo UID, ke kterému bude soubor patřit. K tomu použijte syntaxi
chown uid:gid [filename]
Chcete-li například změnit newfile.txt
na uid 1000 a gid 1000 provést:
chown 1000:1000 newfile.txt
Ukázkový výstup
Zobrazit podrobný výstup
Můžete si vybrat zobrazení operace, která na terminálu probíhá, když se mění oprávnění. Chcete-li to provést, použijte -v
možnosti
chown root:root newfile.txt -v