Úvod
chgrp
příkaz změní vlastnictví adresáře nebo souboru v Linuxu. Každý soubor je přidružen k vlastnímu uživateli nebo skupině a má pravidla definující, kteří uživatelé nebo skupiny mohou soubor číst, zapisovat nebo spouštět.
V tomto tutoriálu se naučíte používat chgrp
příkaz ke změně skupinového vlastnictví souboru.
Předpoklady
- Systém se systémem Linux
- Uživatelský účet s právy sudo
- Přístup k terminálu (Ctrl+Alt+T )
Co je příkaz chgrp?
chgrp
(change group) příkaz změní název skupiny, do které soubor nebo adresář patří. Každý soubor v Linuxu vytváří uživatel, přičemž každý uživatel patří do skupin. Změnou skupinového vlastnictví souboru se změní i oprávnění k přístupu a úpravě souboru.
Od chgrp
příkaz vyžaduje oprávnění superuživatele, nezapomeňte příkaz spustit pomocí sudo
prefix pro správné provedení.
Vysvětlení syntaxe příkazu chgrp
chgrp
syntaxe příkazu je:
chgrp [OPTION] [GROUP_NAME] [DIRECTORY/FILE_NAME]
[OPTION]
- Další možnosti. Příkaz můžete použít i bez nich.[GROUP_NAME]
– Skupina, do které chcete soubor přiřadit.[DIRECTORY/FILE_NAME]
- Cílový adresář/soubor.
[OPTIONS]
jsou:
MOŽNOST | DESCRIPTION |
---|---|
-f , --silent , --quiet | Provede příkaz bez zobrazení jakýchkoli chybových zpráv. |
-v , --verbose | Vypíše podrobnosti o akci pro každý zpracovaný soubor. |
-c , --changes | Podobné jako --verbose , ale hlásí se pouze při provádění změny. |
--dereference | Ovlivňuje referent každého symbolického odkazu spíše než samotný symbolický odkaz. |
-h , --no-dereference | Ovlivňuje symbolické odkazy namísto jakýchkoli odkazovaných souborů. Tuto možnost použijte pouze na systémech, které mohou změnit vlastnictví symbolického odkazu. |
--no-preserve-root | Nezachází se znakem '/' speciálně (výchozí nastavení). |
--preserve-root | Nefunguje rekurzivně na '/'. |
--reference=RFILE | Změní název skupiny souboru na název skupiny odkazovaného souboru. |
-R , --recursive | Operuje se soubory a adresáři rekurzivně. |
-H | Pokud je argument příkazového řádku symbolickým odkazem na adresář, projde jej. Používá se v kombinaci s -R možnost. |
-L | Při rekurzivním procházení prochází každý symbolický odkaz na adresář, na který narazí. Používá se v kombinaci s -R možnost. |
-P | Neprochází žádné symbolické odkazy. Toto je výchozí hodnota, pokud -H , -L nebo -P nejsou specifikovány. Používá se v kombinaci s -R možnost. |
--help | Zobrazí soubor nápovědy a ukončí se. |
--version | Vypíše informace o verzi a ukončí se. |
[GROUP_NAME]
atribut je nová skupina, kterou soubor nebo adresář získá při spuštění. Můžete také zadatID skupiny (GID ) namísto názvu skupiny tak, že jej připojíte pomocí + podepsat.
[DIRECTORY/FILE_NAME]
je cílový adresář nebo název souboru, jehož příslušnost ke skupině chcete změnit.
Můžete zkontrolovat, do které skupiny soubor nebo adresář patří spuštěním následujícího příkazu:
ls -l
Výstup uvádí vlastnictví skupiny jako na obrázku níže:
V tomto výstupu je ls
zobrazí podrobnosti o každém souboru a podadresáři obsaženém v adresáři phoenixNAP. Vlastníkem a skupinou každého souboru a adresáře je zde bosko .
Příkaz chgrp:5 příkladů
Podívejte se na pět příkladů použití chgrp
příkaz. Níže naleznete příkazy a ukázkové výstupy pro změnu vlastnictví skupiny adresářů, změnu vlastnictví skupiny tak, aby odpovídala referenčnímu souboru, zobrazení podrobností o provádění a skrytí chyb příkazů.
Změnit skupinu adresářů
Pokud chcete změnit vlastnictví skupiny adresářů, umístěte název adresáře na místo [FILE_NAME]
atribut v příkazu:
chgrp [GROUP_NAME] [DIRECTORY_NAME]
Podívejte se na název skupiny adresáře příklad před a po použití chgrp
příkaz. Skupina adresáře byla změněna z výchozího bosko na phoenixnap pomocí příkazu:
sudo chgrp phoenixnap example
Rekurzivně změnit vlastnictví skupiny
-R
umožňuje rekurzivně změnit skupinové vlastnictví adresáře, kteréhokoli z jeho podadresářů a veškerého obsahu uvnitř. Syntaxe je:
sudo chgrp -R [GROUP_NAME] [DIRECTORY_NAME]
Například následující příkaz změní příslušnost ke skupině příkladu adresář a všechny jeho soubory:
sudo chgrp -R phoenixnap example
Na obrázku výše vidíte, že soubory jsou v podadresáři example mít také phoenixnap vlastnictví skupiny.
Změnit skupinu tak, aby odpovídala referenčnímu souboru
Pokud chcete změnit skupinu souboru tak, aby odpovídala skupině jiného referenčního souboru , použijte následující syntaxi:
chgrp [OPTION] --reference=[RFILE_NAME] [FILE_NAME]
[RFILE_NAME]
syntaxe je název referenčního souboru, zatímco [FILE_NAME]
je název cílového souboru.
Chcete-li například změnit skupinové vlastnictví souboru atom_273.snap být stejný jako u testu soubor, spustíte:
sudo chgrp --reference=test atom_273.snap
Zobrazit podrobnosti o provedení chgrp
-c
možnost umožňuje uživatelům zobrazit seznam změn chgrp
provedl do každého zadaného souboru. Seznam je užitečný, pokud se chcete ujistit, že změny jsou správné. Pro zobrazení použitých změn použijte příkaz:
sudo chgrp -c -R [GROUP_NAME] [DIRECTORY/FILE_NAME]
Seznam změn, ke kterým došlo, v našem příkladu adresář, spustíme:
sudo chgrp -c -R bosko example
V tomto případě jsme změnili skupinu příkladu adresář a všechny soubory, které obsahuje, a chgrp
uvádí všechny změny tak, jak k nim došlo.
Skrýt chyby příkazu chgrp
-f
umožňuje uživatelům potlačit potenciální chybové zprávy při provádění chgrp
příkaz. Syntaxe pro skrytí chyb příkazů je:
sudo chgrp -f [GROUP_NAME] [DIRECTORY/FILE_NAME]
Zde jsme například použili chgrp
příkaz na neexistujícím souboru:
sudo chgrp phoenixnap nonexistentfile
Výstup zobrazí, že nemá přístup k souboru, protože takový soubor nebo adresář neexistuje.
Spuštění stejného příkazu s -f
volba potlačí tuto chybu: