Chown je příkaz v Linuxu, který se používá ke změně vlastníka sady souborů nebo adresářů.
Chown má několik možností a často se používá ke změně skupiny vlastnící soubor.
V některých případech však můžete potřebovat změnit vlastníka adresáře se všemi soubory v něm.
K tomu můžete potřebovat použít jednu z možností příkazu chown : rekurzivní chown.
V tomto návodu se dozvíte, jak můžete rekurzivně použít příkaz chown k rekurzivní změně oprávnění složek a souborů.
Obsah
Rekurzivní chown
Nejjednodušší způsob, jak použít rekurzivní příkaz chown, je spustit příkaz „chown“ s volbou „-R“ pro rekurzivní a zadat nového vlastníka a složky, které chcete změnit.
$ chown -R <owner> <folder_1> <folder_2> ... <folder_n>
Pokud například chcete změnit vlastníka adresářů a souborů obsažených v domovském adresáři určitého uživatele, napíšete
$ chown -R user /home/user
Poznámka : pokud potřebujete kompletní návod k příkazu chown, napsali jsme rozsáhlý návod o souborových oprávněních v Linuxu.
Příkaz chown Uživatel a skupina rekurzivně
Chcete-li změnit uživatele a skupinu vlastnící adresáře a soubory, musíte spustit příkaz „chown“ s parametrem „-R“ a zadat uživatele a skupinu oddělené dvojtečkami.
$ chown -R <user>:<group> <folder_1> <folder_2> ... <folder_n>
Řekněme, že chcete změnit uživatele vlastnícího soubory na „user“ a skupinu vlastnící soubory na „root“.
Pro dosažení tohoto cíle byste spustili následující příkaz
$ chown -R user:root /home/user
Gratulujeme, úspěšně jste použili příkaz „chown“ rekurzivně ke změně vlastníků na serveru!
Příkaz „chown“ rekurzivně pomocí příkazu „find“
Jiným způsobem rekurzivního použití příkazu „chown“ je jeho kombinace s příkazem „find“ při vyhledávání souborů odpovídajících zadanému vzoru a změně jejich vlastníků a skupin.
$ find <path> -name <pattern> -exec chown <user>:<group> {} \;
Řekněme například, že chcete změnit vlastníka u všech souborů TXT, které se nacházejí v daném adresáři na serveru.
Nejprve se velmi doporučuje provést samotný příkaz „find“, abyste si ověřili, že odpovídáte správným souborům.
V tomto příkladu budeme porovnávat všechny soubory TXT v domovském adresáři aktuálního uživatele.
$ find /home/user -name *.txt
Teď, když jste se ujistili, že se zaměřujete na správné soubory, můžete je svázat s příkazem „chown“, abyste mohli rekurzivně změnit oprávnění.
$ find /home/user -name *.txt -exec chown user {} \;
Jak vidíte, vlastník souborů TXT byl změněn, avšak žádný z ostatních souborů a adresářů nebyl změněn.
Být opatrný při rekurzivním chown
V systému Linux je provedení příkazů jako chown, chmod nebo rm definitivní : není cesty zpět.
V důsledku toho budete muset být velmi opatrní, abyste neprovedli příkazy, které by poškodily váš systém.
Tento bod je ilustrován v předchozí části : spustili jsme samotný příkaz find a ujistili jsme se, že jeho výsledek je správný.
Poté jsme provedli příkaz chown, abychom rekurzivně změnili práva souborů z předchozího příkazu.
Pravidlo : pokud si nejste jisti výstupem příkazu, rozdělte jej na menší části, dokud si nebudete jisti, že neprovedete nic škodlivého.
Závěr
V tomto návodu jste se naučili, jak můžete v systému rekurzivně provést příkaz chown.
Dozvěděli jste se, že toho můžete dosáhnout pomocí volby „-R“ nebo kombinací s příkazem find.
Oprávnění v Linuxu je široké téma : pokud se chcete dozvědět více, opravdu vám doporučujeme podívat se na našeho kompletního průvodce oprávněními v Linuxu.
Také pokud vás zajímá správa systému Linux, máme na webu kompletní sekci věnovanou této problematice, takže si ji určitě prohlédněte!