Úvod
chown
příkaz změní uživatelské vlastnictví souboru, adresáře nebo odkazu v Linuxu. Každý soubor je spojen s vlastním uživatelem nebo skupinou. Je důležité správně nakonfigurovat oprávnění k souborům a složkám.
V tomto kurzu se dozvíte, jak používat příkaz Linux chown s poskytnutými příklady.
Předpoklady
- Linux nebo systém podobný UNIXu
- Přístup k terminálu/příkazovému řádku
- Uživatel s právy sudo ke změně vlastnictví. Nezapomeňte spouštět příkazy pomocí sudo k jejich správnému provedení.
Syntaxe příkazu Linux Chown
Základní syntaxe příkazu chown se skládá z několika segmentů. Soubor nápovědy má následující formát:
chown [OPTIONS] USER[:GROUP] FILE(s)
- [MOŽNOSTI] – příkaz lze použít s dalšími možnostmi nebo bez nich.
- [USER] – uživatelské jméno nebo číselné uživatelské ID nového vlastníka souboru.
- [:] – při změně skupiny souboru použijte dvojtečku.
- [GROUP] – změna skupinového vlastnictví souboru je volitelná.
- FILE – cílový soubor.
K provedení příkazu chown jsou nezbytná oprávnění superuživatele.
V této příručce jsme testovali příklady příkazů s verzí chown 8.28 v Ubuntu 18.04.2 LTS.
Chcete-li zkontrolovat verzi chown na vašem počítači, zadejte:
chown --version
Výstup bude vypadat podobně jako tento:
Jak zkontrolovat vlastnictví souboru v Linuxu
Nejprve musíte znát původního vlastníka souboru nebo skupinu, než provedete změny vlastnictví pomocí příkazu chown.
Chcete-li zkontrolovat skupinu nebo vlastnictví souborů a adresářů Linuxu v aktuálním umístění, spusťte následující příkaz:
ls -l
Příklad výstupu ls
příkaz vypadá takto:
Jak změnit vlastníka souboru
Změna vlastníka souboru pomocí chown vyžaduje, abyste uvedli nového vlastníka a soubor. Formát příkazu je:
chown NewUser FILE
Následující příkaz změní vlastnictví souboru ukázku z kořenového adresáře k uživatelskému testu :
chown test sample
Použijte stejný formát ke změně vlastnictví pro soubory i adresáře .
Změna vlastníka souboru s UID
Místo uživatelského jména můžete zadat ID uživatele pro změnu vlastnictví souboru.
Například:
chown 1002 sample2
Ujistěte se, že neexistuje žádný uživatel se stejným jménem jako je číselné UID. Pokud existuje, příkaz chown upřednostňuje uživatelské jméno, nikoli UID .
Změna vlastnictví více souborů Linuxu
Chcete-li změnit vlastnictví pro více souborů, uveďte názvy cílových souborů po novém uživateli. Mezi názvy souborů používejte jednoduché mezery.
V následujícím příkladu root bude novým vlastníkem souborů sample2 aukázka3 .
chown root sample2 sample3
Kombinujte názvy souborů a adresářů a změňte jejich vlastnictví jedním příkazem. Například:
chown root sample3 Dir1
Nezapomeňte, že příkazy rozlišují malá a velká písmena.
Jak změnit skupinu souboru
Pomocí chown můžete změnit skupinu pro soubor nebo adresář, aniž byste změnili vlastnícího uživatele. Výsledek je stejný jako při použití příkazu chgrp.
Spusťte chown
pomocí dvojtečky a názvu skupiny:
chown :NewGroup FILE
Následující příklad změní skupinu souboru sample3 od skupinového testu do skupiny 3.
chown :group3 sample3
Chcete-li provést hromadné změny, uveďte více názvů souborů nebo adresářů.
Změna skupiny souboru pomocí GID
Podobně jako u UID použijte ke změně skupiny souboru ID skupiny (GID) místo názvu skupiny.
Například:
chown :1003 sample
Změnit vlastníka a skupinu
Chcete-li přiřadit nového vlastníka souboru a zároveň změnit jeho skupinu, spusťte chown
příkaz v tomto formátu:
chown NewUser:NewGroup FILE
Proto nastavte linuxuser jako nový vlastník a group2 jako novou skupinu souboru sample2 :
chown linuxuser:group3 sample3
Pamatujte, že před nebo za dvojtečkou nejsou žádné mezery.
Změnit skupinu na skupinu přihlášení uživatelů
Pokud není zadána žádná skupina, příkaz chown přiřadí k souboru přihlašovací skupinu vlastníka.
Chcete-li tak učinit, definujte nového uživatele následovaného dvojtečkou, mezerou a cílovým souborem:
chown NewUser: FILE
Následující příklad změní vlastnictví skupiny na přihlašovací skupinu linuxuser :
chown linuxuser: sample3
Přenos vlastnictví a nastavení skupiny z jednoho souboru do druhého
Místo změny vlastnictví na konkrétního uživatele můžete použít vlastníka a skupinu referenčního souboru.
Přidejte --reference
možnost příkazu chown pro zkopírování nastavení z jednoho souboru do druhého:
chown --reference=ReferenceFILE FILE
Nezapomeňte zadat správně názvy souborů vyhnout se chybové zprávě:
Před provedením změn zkontrolujte vlastníka a skupinu
chown
příkaz --from
umožňuje ověřit aktuálního vlastníka a skupinu a poté použít změny.
Syntaxe chown pro kontrolu uživatele i skupiny vypadá takto:
chown --from=CurrentUser:CurrentGroup NewUser:NewGroup FILE
Níže uvedený příklad ukazuje, že jsme nejprve ověřili vlastnictví a skupinu souboru sample3 :
chown --from=root:group2 linuxuser:group3 sample3
Poté chown změnil vlastníka na linuxuser a skupina do skupiny3 .
Pouze kontrola vlastníka
Možnost --from
lze použít k ověření pouze aktuálního uživatele souboru.
chown --from=CurrentUser NewUser FILE
Například:
chown --from=root linuxuser sample3
Zaškrtněte pouze skupinu
Podobně jako v předchozí části můžete ověřit pouze skupinu souboru pomocí možnosti --from
.
chown --from=:CurrentGroup :NewGroup FILE
Zde je příklad, kdy jsme ověřili aktuální skupinu před její změnou:
chown --from=:group3 :group4 FILE
Nezapomeňte použít dvojtečku pro názvy obou skupin, abyste se vyhnuli chybovým zprávám.
Jak rekurzivně změnit vlastnictví souboru
Příkaz chown umožňuje změnit vlastnictví všech souborů a podadresářů v zadaném adresáři. Přidejte -R
možnost k příkazu, jak to udělat:
chown -R NewUser:NewGroup DirNameOrPath
V následujícím příkladu rekurzivně změníme vlastníka a skupinu pro všechny soubory a adresáře v Dir1 .
chown -R linuxuser:group3 Dir1
Příkaz Chown a symbolické odkazy
Chcete-li změnit vlastníka symbolického odkazu, použijte -h
volba. Jinak se vlastnictví propojeného souboru změní.
Následující obrázek ukazuje, jak se chovají symbolické odkazy, když -h
je vynecháno.
Vlastník a skupina symbolického odkazu zůstávají nedotčeni. Místo toho vlastník a skupina souboru textfile změněno.
Chcete-li odeslat změny do odkazu, spusťte příkaz chown s -h
příznak:
chown -h NewUser:NewGroup SymbolicLink
V následujícím příkladu jsme změnili vlastníka a skupinu symbolického odkazu.
Zobrazit podrobnosti o procesu příkazu Chown
Ve výchozím nastavení terminál nezobrazuje informace o procesu chown. Chcete-li vidět, co se děje pod kapotou, použijte jeden ze dvou příznaků příkazového řádku:
- Možnost –v vytváří podrobnosti o procesu, i když vlastnictví zůstává stejné.
- Možnost –c zobrazí výstupní informace pouze když se změní vlastník nebo skupina cílového souboru.
Pokud například uvedeme aktuálního vlastníka jako nového vlastníka souboru:
chown -v linuxuser sample2
Terminál vytváří následující výstup:
Přepnout z -v
na -c
a v tomto případě nebudou žádné zprávy. K tomu dochází, protože nedošlo k žádným změnám vlastníka nebo skupiny.
Tyto informace jsou užitečné zejména u rekurzivního příkazu chown :
V tomto příkladu jsou ve výstupu uvedeny všechny objekty ovlivněné spuštěním příkazu.
Potlačit chyby příkazu Chown
Chcete-li se vyhnout zobrazení potenciálních chybových zpráv při spuštění příkazu chown, použijte -f
možnost:
chown -f NewUser FILE
Níže uvedený příklad ukazuje chybovou zprávu pro neexistující soubor nebo adresář:
Přidání -f
flag potlačí většinu chybových zpráv. Pokud však zadáte neplatné uživatelské jméno, zobrazí se chybová zpráva: