Správa vlastnictví a oprávnění k souborům je pravděpodobně nejdůležitějším úkolem správce systému. V každém operačním systému pro více uživatelů, jako je Linux, je správné přiřazení vlastnictví souborů a adresářů zásadní.
Příkaz chown je k tomu nejužitečnějším nástrojem. Aby nedošlo k záměně s chmod, chown může upravit uživatelské vlastnictví souborů a přiřadit je k různým skupinám. Je to nezbytný příkaz, který musí zvládnout každý seriózní uživatel Linuxu.
Zde je průvodce, jak začít.
Jak zkontrolujete vlastnictví souboru?
Než začnete přesouvat soubory mezi různé vlastníky a skupiny, měli byste se nejprve naučit, jak zkontrolovat aktuálního vlastníka souboru. Proces je jednoduchý: přidání parametru -l k běžnému příkazu ls obsahuje informace o vlastnictví dotazovaného souboru nebo adresáře.
Řekněme, že máte soubor s názvem example.txt. Takto bude vypadat příkaz k zobrazení informací o vlastnictví:
ls -l example.txt
Použití chown na jeden soubor
Nejjednodušší způsob, jak použít chown, je změnit uživatele, který vlastní konkrétní soubor. Syntaxe je sudo chown username filename, kde username je jméno uživatele, kterému chcete dát soubor, a filename je jméno daného souboru. V praxi to vypadá takto:
sudo chown some_else example.txt
Upozorňujeme, že tím se nemění skupinové vlastnictví souborů, ale pouze uživatel. Chcete-li změnit vlastníka skupiny, musíte použít jinou syntaxi – sudo chown :groupname název_souboru
V tomto konkrétním případě to bude:
sudo chown :group2 example.txt
Můžete také zkombinovat oba příkazy do jednoho řádku a změnit tak uživatele i skupinové vlastnictví souboru:
sudo chown me:group1 example.txt
Změna vlastnictví více souborů pomocí Chown
Změna vlastnictví každého souboru jednotlivě je při práci s větším počtem souborů poměrně únavná. Naštěstí vám většina příkazů Linuxu umožňuje zřetězení více názvů souborů oddělených mezerami v rámci jediného příkazu. Takto:
sudo chown some_else:group2 example1.txt example2.txt.
Stejný trik použijte ke kontrole vlastnictví více souborů:
ls -l example1.txt example2.txt
I při kombinování více názvů souborů do jednoho příkazu je tento proces příliš nepohodlný pro více než několik souborů. Lepší přístup je změnit vlastnictví celého obsahu adresáře najednou.
Toho je dosaženo přidáním parametru -R k příkazu chown. Díky tomu chown prochází obsahem adresáře a rekurzivně mění vlastnictví každého souboru uvnitř. Zde je ukázka:
sudo chown -R some_else:group2 příklady
Můžeme znovu použít rekurzivní příznak ke kontrole vlastnictví souborů ve složce příkladů.
ls -l -R příklady
Upravit vlastnictví souboru pomocí UID
Správci systému spravující mnoho uživatelů budou rychle unaveni opakovaným zadáváním uživatelských jmen. Jediný překlep v kterémkoli z názvů způsobí chybu při použití chown, což značně zpomalí práci.
Lepší alternativou je místo toho použít ID uživatele. UID je čtyřmístné číslo přiřazené každému vytvořenému uživateli, počínaje 1000 a nahoru. Toto je mnohem jednodušší zadat než řetězec a je mnohem méně náchylné k chybám.
Chcete-li použít tuto metodu, stačí nahradit uživatelské jméno UID:
sudo chown 1001 example.txt
Pokud neznáte UID uživatele, můžete jej rychle zkontrolovat pomocí příkazu id. Stačí zadatid -u uživatelské jménoa zobrazí se jedinečné ID daného uživatele.
Tuto metodu lze rozšířit i na názvy skupin. Chcete-li získat UID přihlašovací skupiny uživatele a dalších skupin, do kterých patří, použijte příkaz id bez parametru -u.
id some_else
Jak vidíte, máme různá ID skupin, do kterých zadaný uživatel patří. Když to dáme dohromady, můžeme takto použít chown k přiřazení nového vlastníka a změně skupiny souboru:
sudo chown 1001:1003 example.txt
Co dalšího můžete dělat s příkazem chown?
Většinu běžných použití chownu jsme již ukázali. Nyní můžete různými metodami měnit uživatele a skupiny, které vlastní soubor. Ale to není úplný limit schopností velení..
Technický popis a úplný seznam argumentů, které můžete s příkazem použít, najdete na oficiálních manuálových stránkách. Pro zobrazení stačí zadat do terminálu man chown.
Je Chown užitečný?
Pokud jste jediným uživatelem svého počítače, nebudete nikdy muset používat chown. Ale pokud používáte linuxový systém v profesionálním prostředí, ať už je to komerční server nebo univerzitní počítač, pak je zvládnutí příkazu chown (kromě chmod ) nanejvýš důležité.
Možnost přiřazovat a odebírat soubory uživatelům a skupinám je zásadní pro zachování přísných hranic ve víceuživatelských systémech. Nejlepší na chownu je jeho flexibilita – pomocí stejného příkazu můžete pracovat s jednotlivými soubory nebo celými adresáři.
Vlastnictví můžete také přiřadit uživatelům a skupinám samostatně nebo v kombinovaném prohlášení. Při použití s pohodlnějšími UID je ovládání i těch nejsložitějších uživatelských hierarchií hračkou.
.