Když jako lidské bytosti objevíme nový předmět, náš mozek udělá několik věcí. Za prvé, vidíme užitečnost předmětu. Zadruhé, přiřadíme objektu skupinu, abychom věděli, jak jej zařadit dopředu. Pokud například dítě objeví kladivo, obecně si je vědomo toho, že by se s ním dalo udeřit do věcí. Poté přidělí kladivo skupině. V některých případech dítě označí kladívko jako nástroj a použije ho pouze ke splnění úkolu. V jiných označí dítě kladívko jako hračku. Užitečnost kladívka je však stále zřejmá, takže si na druhé dítě dávejte pozor. To je důvod, proč je seskupování důležité.
Skupiny v Linuxu jsou důležité, protože uživatelé jsou přítomni v systému pro definovaný nástroj. Seskupování uživatelů podle obslužného programu (nebo přístupu) je skvělý způsob, jak zajistit, že oprávnění správce mají pouze správci a že běžní uživatelé mohou přistupovat pouze k souborům, pro které jsou určeny. Uživatelé jsou rozděleni do tří různých klasifikací, aby byl proces seskupování o něco jednodušší:
- Superuživatelé - odpovědný za správu systému. kořen účet je hlavním superuživatelem a má
UID 0
. - Uživatelé systému - uživatelské účty používané samotným systémem ke spouštění procesů nebo démonů. Každý z těchto uživatelů má své vlastní soubory a prostředky. V ideálním případě se uživatelé nepřihlašují jako uživatel systému. Rozsah UID je
1-999
. - Běžní uživatelé - účty, které většina z nás používá k plnění své každodenní práce. Mají omezený přístup k souborům a systémům a musí získat sudoer oprávnění k provádění administrativních úkolů. UID začínají na
1000+
.
Pokud byste chtěli další informace o základních uživatelských a skupinových konceptech, přečtěte si článek Kena Hesse Správa uživatelských účtů s UID a GID. Ve zbytku tohoto dílu se zaměřím na vytváření skupin, členství a identifikační kódy a také na to, jak skupině přidělit oprávnění superuživatele.
Primární skupina
Všichni uživatelé jsou ve výchozím nastavení přiřazeni k primární skupině. U místních účtů je primární GID stejný jako ten, který je uveden v /etc/passwd
soubor. To znamená, že uživatelské jméno a název skupiny jsou stejné. To také znamená, že uživatel je jediným členem této skupiny. Například:
[root@server ~]# useradd user01
[root@server ~]# su - user01
[user01@server ~]$ id
uid=1002(user01) gid=1002(user01) groups=1002(user01) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Vedlejším efektem tohoto návrhu je, že uživatelům a správcům mnohem zjednodušuje správu oprávnění k souborům. Pokud chcete shromáždit uživatele do primární skupiny pro společný účel, musíte vytvořit skupinu a poté do ní přiřadit požadované uživatele.
[ Také by se vám mohlo líbit:Základy správce systému Linux:Správa uživatelských účtů ]
Vytvoření skupiny
Pro naši demonstraci vytvořím skupinu demogroup
. Z výstupu můžete vidět, že skupina byla vytvořena a přiřazeno GID 1007:
[root@server ~]# groupadd demogroup
[root@server ~]# tail /etc/group
cockpit-wsinstance:x:975:
flatpak:x:974:
rngd:x:973:
admin:x:1001:
user01:x:1002:
user02:x:1003:
user03:x:1004:
user04:x:1005:
user05:x:1006:
demogroup:x:1007:
Nyní změňme GID na 10007:
[tcarrigan@server ~]$ sudo groupmod -g 10007 demogroup
Output Omitted
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
demogroup:x:10007:
Použijte groupmod -g GID groupname
syntaxe pro změnu GID libovolné skupiny, pokud je to potřeba. Pokud potřebujete změnit název skupiny, použijte groupmod -n NEWNAME oldname
. Zde je příklad:
[tcarrigan@server ~]$ sudo groupmod -n usergroup demogroup
[tcarrigan@server ~]$ sudo tail /etc/group
Output Omitted
usergroup:x:10007:
Všimněte si, že jsme přejmenovali demogroup
do usergroup
. Skupina je stále stejná, jak uvádí GID 10007.
Přidávání uživatelů do skupiny
Skupina bez členů je jako les bez stromů. Jak tedy přidáme pár členů? Snadné provedení.
[tcarrigan@server ~]$ sudo usermod -g usergroup user01
[tcarrigan@server ~]$ sudo usermod -g usergroup user02
[tcarrigan@server ~]$ sudo usermod -g usergroup user03
[tcarrigan@server ~]$ sudo usermod -g usergroup user04
[tcarrigan@server ~]$ sudo usermod -g usergroup user05
Změnu GID a názvu skupiny můžete vidět od doby, kdy jsme vytvořili user01 na začátku tohoto cvičení.
[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Doplňková skupina
Nyní může uživatel patřit také do doplňkové skupiny. Doplňková skupina je právě taková – doplňková. Velmi oblíbeným využitím doplňkových skupin je přidělování administrátorských práv pomocí sudo
.
Pokud například user01 potřebuje změnit oprávnění pro ostatní uživatele v uživatelské skupině , aniž bychom celé skupině přidělovali oprávnění správce, přidělujeme user01 do doplňkové skupiny s oprávněním správce. Na mnoha systémech kolečko skupina se používá právě pro takové příležitosti.
Chcete-li přidat kolečko jako doplňková skupina k user01 :
[tcarrigan@server ~]$ sudo usermod -aG wheel user01
[tcarrigan@server ~]$ su - user01
Output Omitted
[user01@server ~]$ id
uid=1002(user01) gid=10007(usergroup) groups=10007(usergroup),10(wheel) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
POZNÁMKA :-a
volba vynutí usermod
do přidat režimu. Pokud -a
není-li tato volba použita, je uživatel odstraněn ze všech dalších doplňkových skupin, které nejsou uvedeny v -G
seznam možností.
Nyní můžete vidět uživatel01 má primární skupinu (uživatelská skupina ) a doplňkovou skupinu (kolečko ).
Konfigurace skupiny sudo
Co když potřebujeme udělit oprávnění správce celé uživatelské skupině ? Abychom toho dosáhli, musíme vytvořit /etc/sudoers.d/usergroup
soubor:
[root@server ~]# echo "%usergroup ALL=(ALL) ALL" >> /etc/sudoers.d/usergroup
[root@server ~]# su - user02
[user02@server ~]$ sudo cat /etc/sudoers.d/usergroup
[sudo] password for user02:
%usergroup ALL=(ALL) ALL
Výše můžete vidět user02 , člen uživatelské skupiny , nyní má oprávnění správce. Další informace o oprávněních správce a souboru sudoers najdete v mém předchozím článku Základy příkazového řádku Linuxu:sudo.
[ Chcete si vyzkoušet své schopnosti správce systému? Proveďte hodnocení dovedností ještě dnes. ]
Proč by vás to mělo zajímat?
Pokud si položíte výše uvedenou otázku, zamyslete se prakticky nad následujícími pojmy:Používání skupin v Linuxu je základní součástí operačního systému a je dokonce vyžadováno pro běh různých aplikací. Přiřazení uživatelů do snadno ovladatelných skupin je skvělý způsob, jak rychle zvýšit zabezpečení vašich systémů a spravovat více uživatelských účtů. Jak je uvedeno výše, můžete určitým uživatelům povolit přístup k administrátorským právům, aby dokončili konkrétní práci, aniž byste jim udělili root přístup k systému. Pokud dokážeme udržet naše uživatele organizované a produktivní a zároveň zajistit, že budou mít přístup pouze k tomu, co potřebují, usnadníme si život a naše vztahy mezi uživateli a správci budou o něco méně stresující. Vaše organizace bude těžit z těchto vylepšení od základu, ať už to ví nebo ne.