Android

Jak vypsat skupiny v Linuxu

From C to Python by Ross Rheingans-Yoo

From C to Python by Ross Rheingans-Yoo

Obsah:

Anonim

V Linuxu je skupina kolekce uživatelů. Hlavním účelem skupin je definovat sadu oprávnění, jako je čtení, zápis nebo spuštění oprávnění pro daný prostředek, který lze sdílet mezi uživateli ve skupině. Uživatelé mohou být přidáni do existující skupiny, aby mohli využívat oprávnění, která udělují.

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

Skupiny Linux

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 souborům vytvořeným uživatelem. Jméno primární skupiny je obvykle stejné jako jméno uživatele. Každý uživatel musí patřit do přesně 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 nulové nebo více sekundárních skupin.

Seznam všech skupin, jejichž je uživatel členem

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

Skupina primárního uživatele je uložena v souboru /etc/passwd a doplňkové skupiny, pokud existují, jsou uvedeny v souboru /etc/group .

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 poskytovat informace o uživatelích a skupinách systému.

Pomocí příkazu groups

Nejpamátnějším příkazem pro výpis všech skupin, kterých je uživatel členem, je příkaz groups . Po 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 jako argument uživatelské jméno příkazu groups :

groups linuxize

Stejné jako před první skupinou je primární skupina.

linuxize: linuxize sudo

Pomocí příkazu id

Příkaz id vytiskne 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 linuxize uživatele, linuxize byste linuxize :

id linuxize

Příkaz zobrazí uživatelské jméno ( uid ), primární skupinu uživatele ( gid ) a sekundární skupiny uživatele ( groups )

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

Chcete-li tisknout pouze jména bez ID uživatele a skupiny, použijte volbu -n . Možnost -g vytiskne pouze primární skupinu a -G všechny skupiny.

Následující příkaz vytiskne jména skupin, ve kterých je aktuální uživatel členem:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Seznam všech členů skupiny

Chcete-li zobrazit seznam všech členů skupiny, použijte příkaz getent group následovaný názvem skupiny.

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

getent group developers

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

developers:x:126:frank, mary

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

Seznam všech skupin

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

less /etc/group

Další možností je použít příkaz getent který zobrazuje položky z databází nakonfigurovaných v souboru /etc/nsswitch.conf včetně 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 souboru /etc/group . Pokud používáte LDAP pro ověření uživatele, zobrazí getent všechny skupiny ze souboru /etc/group a LDAP databáze.

Můžete také použít awk nebo cut pro tisk pouze prvního pole obsahujícího název skupiny:

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

getent group | cut -d: -f1

Závěr

V tomto tutoriálu jste se naučili, jak najít skupiny, do 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 a zanechte komentář.

terminál