Způsoby platby Abuse

Příkaz CHGRP LINUX

14.12.2021, 10:30

Při používání systému Linux uživatelé často nepřemýšlejí o tom, kdo je vlastníkem souboru. Když však jde o provoz serveru, situace se mění. Pro zvýšení bezpečnosti získá server vlastního uživatele. Není neobvyklé, že servery používají stejnou skupinu, například www-data. Dále se podíváme, jak tato funkce pracuje se soubory a adresáři. Zvláštní pozornost budeme věnovat symbolickým odkazům, protože při použití nezabezpečených nastavení mohou způsobit problémy.

Co to znamená

Standard oprávnění k souborům přišel do Linuxu z Unixu. Každý objekt má tedy svého uživatele, skupina navíc popisuje právaostatních uživatelů(other). Oprávnění se skládají ze tří položek: čtení, zápis, spuštění. Ke změně oprávnění se používá příkaz umask, ale ke změně vlastníka a skupiny přímo příkazy chown. K zobrazení aktuálních oprávnění lze použít příkaz ls.

Syntaxe a možnosti

Obecné zobrazení příkazu chgrp:

$ chgrp [options] new_group file_name

Seznam běžných možností příkazu chgrp:

  1. -h - pracuje přímo se samotnými symbolickými odkazy;
  2. --dereference - práce se soubory, nikoli se samotnými symbolickými odkazy. Používá se ve výchozím nastavení;
  3. -R - rekurzivní zpracování adresáře s celým jeho obsahem;
  4. -H - následuje symbolický odkaz a mění atributy souboru/adresáře. Používá se ve spojení s parametrem -R;
  5. -L - následuje symbolický odkaz a pokračuje v rekurzivním zpracování. Používá se ve spojení s parametrem -R;
  6. -P - při setkání se symbolickým odkazem zpracovat pouze tento odkaz. Používá se společně s parametrem -R, je výchozí hodnotou;
  7. --reference=jméno_souboru - použije ukázkovou skupinu;
  8. -c - při zpracování se změní pouze výstup;
  9. -v - vypisuje informace o každém zpracovávaném objektu.

Použití příkazu

Nejjednodušší příklad použití příkazu chgrp. Následující mění celý objekt www-data pro soubor v aktuální složce:

$ sudo chgrp www-data file.txt

A tento změní skupinu na www-data pro složku adresáře:

 $ sudo chgrp www-data folder

Příkaz pracuje velmi předvídatelným způsobem, mění jejich skupinu. Objekty ve složce zůstávají beze změny. Pokud jsou zpracovávány symbolické odkazy, jejich atributy zůstávají beze změny, ale objekt dostane novou skupinu. Toto chování je podobné zacházení s parametrem --dereference.

Například tyto příkazy aplikované na symbolické odkazy budou fungovat tak, jak je znázorněno na obrázku:

$ sudo chgrp www-data sym_file.txt

Podívejme se, jak by fungoval parametr -h měnící atributy symbolického odkazu:

$ sudo chgrp -h www-data sym_file

Skupina byla nastavena nejen adresáři, ale také všem souborům uvnitř. Všimněte si, že se změnilo chování, nyní se při zpracování symbolického odkazu nastavují atributy samotnému odkazu, nikoli objektu.

Abychom viděli rozdíl mezi parametry -H a -L, podívejme se na několik dalších příkladů. Připomeňme, že je nutné je použít společně s parametrem -R:

$ sudo chgrp -RH www-data folder

Při použití parametru -H se chování při zpracování symbolických odkazů změnilo, nyní se s nimi pracuje, jako by byly funkce spuštěny samostatně. Atributy odkazů se nemění, atributy samotných objektů ano a rekurzivní zpracování se zastaví při přechodu do adresáře.

$ sudo chgrp -RL www-data folder

Provádí jedinou funkci - mění skupinu souborů a adresářů.

Při zpracování symbolických odkazů byste měli být velmi opatrní, abyste nepoškodili systém.