GNU/Linux >> Znalost Linux >  >> Linux

Jak vypsat skupiny v Linuxu

V Linuxu je skupina kolekcí uživatelů. Hlavním účelem skupin je definovat sadu oprávnění, jako je oprávnění ke čtení, zápisu nebo spouštění pro daný zdroj, která mohou být sdílena mezi uživateli ve skupině. Uživatelé mohou být přidáni do existující skupiny a využívat oprávnění, která uděluje.

Tento tutoriál vysvětluje, jak zobrazit všechny skupiny, kterých je uživatel členem. Vysvětlíme také, jak vypsat všechny členy skupiny.

Linux Groups #

Existují dva typy skupin, do kterých může uživatel patřit:

  • Primární nebo přihlašovací skupina – je skupina, která je přiřazena k souborům vytvořeným uživatelem. Obvykle je název primární skupiny stejný jako jméno uživatele. Každý uživatel musí patřit přesně do jedné primární skupiny.

  • Sekundární nebo doplňková skupina - používá se k udělení určitých oprávnění skupině uživatelů. Uživatel může být členem žádné nebo více sekundárních skupin.

Vypsat všechny skupiny, kterých je uživatel členem #

Existuje několik způsobů, jak zjistit skupiny, do kterých uživatel patří.

Primární uživatelská skupina je uložena v /etc/passwd soubor a doplňkové skupiny, pokud existují, jsou uvedeny v /etc/group soubor.

Jedním ze způsobů, jak najít skupiny uživatelů, je vypsat obsah těchto souborů pomocí cat , less nebo grep . Další jednodušší možností je použít příkaz, jehož účelem je poskytnout informace o uživatelích a skupinách systému.

Použití groups příkaz #

Nejpamátnějším příkazem pro seznam všech skupin, kterých je uživatel členem, je groups příkaz. Při spuštění bez argumentu příkaz vytiskne seznam všech skupin, do kterých aktuálně přihlášený uživatel patří:

groups

První skupina je primární skupina.

john adm cdrom sudo dip plugdev lpadmin sambashare

Chcete-li získat seznam všech skupin, do kterých konkrétní uživatel patří, zadejte uživatelské jméno do groups příkaz jako argument:

groups linuxize

Stejně jako předtím, první skupina je primární skupina.

linuxize : linuxize sudo

Použití id příkaz #

id příkaz vypíše informace o zadaném uživateli a jeho skupinách. Pokud je uživatelské jméno vynecháno, zobrazí se informace o aktuálním uživateli.

Například pro získání informací o uživateli linuxize byste napsali:

id linuxize

Příkaz zobrazí ID uživatele (uid ), primární skupina uživatele (gid ) a sekundární skupiny uživatele (groups )

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize),27(sudo)

Chcete-li místo čísel vytisknout pouze jména, použijte -n volba. Možnost -g vytiskne pouze primární skupinu a -G všechny skupiny.

Následující příkaz vypíše názvy skupin, jejichž členem je aktuální uživatel:

id -nG
john adm cdrom sudo dip plugdev lpadmin sambashare

Vypsat všechny členy skupiny #

Chcete-li vypsat všechny členy skupiny, použijte getent group příkaz následovaný názvem skupiny.

Chcete-li například zjistit členy skupiny s názvem developers použijete následující příkaz:

getent group developers

Pokud skupina existuje, příkaz vypíše skupinu a všechny její členy:

developers:x:126:frank,mary

Pokud neexistuje žádný výstup, znamená to, že skupina neexistuje.

Vypsat všechny skupiny #

Chcete-li zobrazit všechny skupiny přítomné v systému, jednoduše otevřete /etc/group soubor. Každý řádek v tomto souboru představuje informace pro jednu skupinu.

less /etc/group

Další možností je použít getent příkaz, který zobrazuje záznamy z databází nakonfigurovaných v /etc/nsswitch.conf soubor obsahující group databáze, kterou můžeme použít k dotazování na seznam všech skupin.

Chcete-li získat seznam všech skupin, zadejte následující příkaz:

getent group

Výstup je stejný jako při zobrazení obsahu /etc/group soubor. Pokud pro ověření uživatele používáte LDAP, getent zobrazí všechny skupiny z obou /etc/group soubor a databázi LDAP.

Můžete také použít awk nebo cut chcete-li vytisknout pouze první pole obsahující název skupiny:

getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1

Závěr č.

V tomto kurzu jste se naučili, jak najít skupiny, kterých je uživatel členem. Stejné příkazy platí pro jakoukoli distribuci Linuxu, včetně Ubuntu, CentOS, RHEL, Debian a Linux Mint.

Pokud máte nějaké dotazy, neváhejte zanechat komentář.


Linux
  1. Jak přidat uživatele do skupiny v Linuxu

  2. Jak přidat/vypsat/odebrat skupinu?

  3. Jak vypsat všechny uživatele ve skupině Linuxu?

  1. Jak používat příkaz Linux SS

  2. Jak vypsat seznam uživatelů v Linuxu

  3. Seznam členů skupiny v Linuxu

  1. Jak přidat uživatele do skupiny v Linuxu

  2. Jak vytvořit skupiny v Linuxu (příkaz groupadd)

  3. Jak vypsat Cron Jobs v Linuxu