GNU/Linux >> Znalost Linux >  >> Linux

Jak zjistit, do kterých skupin uživatel v Linuxu patří

Linuxová skupina je kolekce jednoho nebo více uživatelů se stejnými požadavky na oprávnění k souborům a adresářům. Uživatel může být členem více než skupiny najednou. V Linuxu jsou informace o každé skupině uloženy v "/etc/group" soubor. V tomto tutoriálu uvidíme všechny možné způsoby, jak snadno zjistit, do kterých skupin uživatel patří v operačních systémech Linux a Unix.

Zjištění skupin, do kterých uživatelský účet patří, bude v mnoha případech užitečné. Nedávno jsem například instaloval Dropbox na svůj server Ubuntu . Při konfiguraci Dropboxu jsem musel zadat své aktuální uživatelské jméno a název skupiny. Můžete se také dostat do situace, kdy potřebujete identifikovat skupiny, do kterých uživatel patří. Pokud ano, použijte kteroukoli z následujících metod, abyste zjistili, ve které skupině se uživatel nachází.

Zjistěte, do kterých skupin uživatel v Linuxu patří

Existuje mnoho způsobů, jak vypsat skupiny, kterých je uživatel Linuxu členem. Nejčastěji používaným způsobem je použití skupin příkaz.

Metoda 1 – příkaz skupin

Skupiny zobrazí aktuální názvy skupin a uživatelé patří do těchto skupin v operačních systémech Linux a Unix.

Nejprve zjistíme, kolik skupin je v našem systému Linux.

Chcete-li najít seznam dostupných v Linuxu, spusťte skupiny příkaz bez jakýchkoli argumentů jako níže:

$ groups

Ukázkový výstup:

sk adm disk cdrom sudo dip plugdev lpadmin sambashare kvm libvirt vboxusers

Seznam dostupných skupin v Linuxu

Jak můžete vidět ve výše uvedeném výstupu, v mém systému je aktuálně 12 skupin.

Nyní zjistěte, které skupiny konkrétního uživatele, například sk , patří. Chcete-li tak učinit, zadejte příkaz "groups" za uživatelským jménem jako níže:

$ groups sk

Ukázkový výstup:

sk : sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

Zjistěte, do kterých skupin uživatel patří v Linuxu pomocí příkazu groups

Zde sk je mé uživatelské jméno a uživatel sk je členem všech výše uvedených skupin. Možná jste si všimli, že „sk“ je uvedeno dvakrát. Protože jsem použil stejný název pro uživatelské jméno i název skupiny.

Více podrobností o příkazu "groups" naleznete v manuálových stránkách.

$ man groups

Metoda 2 – příkaz id

Další způsob, jak identifikovat skupiny, ve kterých je uživatel, je pomocí "id" příkaz. Příkaz id se používá k tisku informací o uživateli a skupině pro zadaného USER. Pokud není zadán USER, vytisknou se informace pro aktuálního uživatele.

Chcete-li identifikovat všechny skupiny, do kterých uživatel patří pomocí příkazu "id", spusťte:

$ id sk

Nahraďte sk s vaším uživatelským jménem.

Ukázkový výstup:

uid=1000(sk) gid=1000(sk) groups=1000(sk),4(adm),6(disk),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),1001(vboxusers),129(kvm),136(libvirt)

Zjistěte, do kterých skupin uživatel v Linuxu patří, pomocí příkazu id

Jak vidíte zde, příkaz id nejen vypisuje skupiny, kterých je uživatel členem, ale také ID skupiny a ID uživatele (UID a GID) daného uživatele a skupin. Má podrobnější výstup než příkaz „groups“, takže pokud potřebujete ID skupiny/ID uživatele, použijte toto!

Pokud čísla tisknout nechcete, jednoduše použijte -Gn příznak jako níže:

$ id -Gn sk
sk adm disk cdrom sudo dip plugdev lpadmin sambashare vboxusers kvm libvirt

Další podrobnosti naleznete na manuálových stránkách.

$ man id

Metoda 3 - pomocí souboru "/etc/group"

Jak jsem již uvedl, /etc/group obsahuje informace o každé skupině v systému Linux. Do kterých skupin daný uživatel patří, zjistíte z obsahu /etc/group soubor pomocí "grep" příkaz, jak je znázorněno níže:

$ grep sk /etc/group

Ukázkový výstup:

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

Pokud chcete vyloučit ID skupiny a uživatelské jméno a zobrazit pouze názvy skupin, přesuňte výstup příkazu "grep" do "awk" příkaz jako níže:

$ grep sk /etc/group | awk -F: '{ print $1 }'

Ukázkový výstup:

adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

Zjistěte, do kterých skupin uživatel v Linuxu patří, pomocí příkazů grep a awk

Metoda 4 – příkaz getent

"gettent" příkaz zobrazí položky z databází podporovaných knihovnami Name Service Switch, které jsou konfigurovány v /etc/nsswitch.conf soubor.

Můžeme vypsat všechny dostupné skupiny a jejich členy v systému Linux pomocí příkazu getent, jak je uvedeno níže:

$ getent group

Chcete-li zjistit, do kterých skupin konkrétní uživatel (např. sk) patří,  spusťte:

$ getent group | grep sk

Ukázkový výstup:

adm:x:4:syslog,sk
disk:x:6:sk
cdrom:x:24:sk
sudo:x:27:sk
dip:x:30:sk
plugdev:x:46:sk
lpadmin:x:116:sk
sk:x:1000:
sambashare:x:126:sk
vboxusers:x:1001:sk
kvm:x:129:sk
libvirt:x:136:sk,libvirtdbus

Pokud chcete zobrazit pouze skupiny bez všech ostatních podrobností, filtrujte výstup pomocí příkazů „grep“ a „awk“, jak je uvedeno níže:

$ getent group | grep sk | awk -F: '{ print $1 }'
adm
disk
cdrom
sudo
dip
plugdev
lpadmin
sk
sambashare
vboxusers
kvm
libvirt

Zjistěte, do kterých skupin uživatel v Linuxu patří, pomocí příkazů getent, grep a awk

Seznam všech uživatelů patřících do skupiny v Linuxu

Najdeme zde také seznam všech uživatelů, kteří patří do konkrétní skupiny. Například následující příkaz zobrazí uživatele, kteří patří do skupiny s názvem úložiště .

$ grep -w storage /etc/group
storage:x:95:sk

Snadné, že? Vskutku. Nalezení, do kterých skupin uživatel patří a uživatelů konkrétní skupiny, je super snadné!!

Související čtení:

  • Jak vypsat seznam členů skupiny v Linuxu
  • Jak najít všechny uživatele Sudo ve vašem systému Linux

To pomáhá.


Linux
  1. Jak zjistit seznam všech otevřených portů v Linuxu

  2. Jak pracovat s uživateli a skupinami v Linuxu

  3. Jak zjistit, jakou skupinu daný uživatel má?

  1. Jak zjistit, které procesy využívají swapovací prostor v Linuxu?

  2. Jak zjistit využití uživatelské paměti v linuxu

  3. Jak zjistit, který proces používá soubor v Linuxu?

  1. Jakou verzi Linuxu používám? Zde je návod, jak to zjistit

  2. Jak najít všechny uživatele Sudo v Linuxu

  3. Jak zjistit, co dělá příkaz Linuxu