Android

Příkaz Chgrp v Linuxu (změna skupiny)

Fedora Linux - Terminál a příkaz ls #06

Fedora Linux - Terminál a příkaz ls #06

Obsah:

Anonim

V systému Linux je každý soubor spojen s vlastníkem a skupinou a má oprávnění, která určují, kteří uživatelé mohou soubor číst, zapisovat nebo provádět.

Příkaz chgrp změní vlastnictví skupiny daných souborů.

Tato příručka vysvětluje, jak používat chgrp .

Syntaxe příkazu chgrp

Příkaz chgrp má následující podobu:

chgrp GROUP FILE..

  • GROUP , název nové skupiny nebo ID skupiny (GID). Číselný GID musí být opatřen předponou + . FILE.. , název jednoho nebo více souborů.

Na rozdíl od příkazu chown který umožňuje změnit vlastnictví uživatele a skupiny, chgrp změní pouze vlastnictví skupiny.

Chcete-li zjistit, do které skupiny soubor patří, použijte příkaz ls -l .

Skupinové vlastnictví souboru může změnit pouze uživatel root nebo uživatel s právy sudo.

Jak změnit vlastnictví skupiny souborů

Chcete-li změnit vlastnictví skupiny souboru nebo adresáře, chgrp příkaz chgrp následovaný novým názvem skupiny a cílovým souborem jako argumenty.

Chcete-li například změnit skupinu souboru s názvem filename na www-data , která byste spustili:

chgrp www-data filename

Jako argument pro příkaz chgrp můžete také předat více souborů:

chgrp www-data file1 file2 dir1

Pomocí volby -v získáte informace o zpracovávaných souborech:

chgrp www-data file1 file2

changed group of 'file1' from nginx to www-data group of 'file2' retained as www-data

Chcete-li tisknout informace pouze o souborech, které skupina skutečně změní, použijte -c místo -v .

Místo uživatelského jména lze použít ID číselné skupiny (GID). Následující příklad změní vlastnictví skupiny souboru na novou skupinu s GID 1000:

chgrp +1000 filename

Jak změnit vlastnictví skupiny Symlinks

Pokud nefunguje rekurzivně, výchozím chováním příkazu chgrp je změna vlastnictví skupiny cílů symlink, nikoli samotné symbolické odkazy.

Pokud se například pokusíte změnit skupinu symbolického odkazu symlink1 která odkazuje na /opt/file1 , chgrp změní vlastnictví souboru nebo adresáře, na který odkazuje symlink:

chgrp www-data symlink1

Je pravděpodobné, že namísto změny cílové skupiny se zobrazí chyba „nelze dereference 'symlink1': Oprávnění odepřeno“.

K chybě dochází, protože ve výchozím nastavení je většina linuxových distribucí chráněna symbolickými odkazy a nemůžete pracovat s cílovými soubory. Tato volba je uvedena v /proc/sys/fs/protected_symlinks . 1 znamená povoleno a 0 deaktivováno. Doporučujeme ochranu symlink deaktivovat.

Chcete-li změnit vlastnictví skupiny samotného symbolu, použijte volbu -h :

chgrp -h www-data symlink1

Jak rekurzivně změnit vlastnictví skupiny

Chcete-li rekurzivně změnit vlastnictví skupiny všech souborů a adresářů v daném adresáři, použijte volbu -R .

Následující příkaz například změní vlastnictví všech souborů a adresářů v adresáři /var/www na skupinu www-data :

chgrp -R www-data /var/www

Pokud je zadána rekurzivní volba, chgrp nebude procházet symbolickými odkazy a nebude provádět žádné změny v odkazech. Chcete-li změnit vlastnictví skupiny symbolických odkazů, předejte volbu -h :

chgrp -hR www-data /var/www

Další možnosti, které lze použít při rekurzivní změně vlastnictví skupiny, jsou -H a -L .

Pokud je argument předaný příkazu chgrp symbolickým odkazem, volba -H způsobí, že jej příkaz přejde. -L řekne chgrp aby procházel každý symbolický odkaz do adresáře, který je nalezen. Ve většině případů byste tyto možnosti neměli používat, protože by se váš systém mohl pokazit nebo vytvořit bezpečnostní riziko.

Závěr

chgrp mění skupinové vlastnictví souborů, adresářů a symbolických odkazů.

Ačkoli můžete použít populárnější příkaz chown ke změně skupiny, chgrp má jednoduchou syntaxi, kterou si snadno zapamatujete.

Další informace o příkazu chgrp naleznete na manuálové stránce chgrp nebo do svého terminálu napište man chgrp .

terminál chgrp