GNU/Linux >> Znalost Linux >  >> Linux

Jak vypsat všechny skupiny v Linuxu?

Skupiny Linuxu jsou kolekce uživatelů. Jsou určeny ke snadnému poskytování oprávnění skupině uživatelů. V tomto tutoriálu se podíváme na různé způsoby, jak vypsat seznam všech skupin v Linuxu.

2 způsoby, jak zobrazit seznam všech skupin v Linuxu

  1. soubor /etc/group
  2. příkaz gettent

1. /etc/group

Soubor /etc/group obsahuje všechny místní skupiny. Můžeme tedy otevřít tento soubor a podívat se na všechny skupiny.

root@localhost:~# cat /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
...

Pokud hledáte konkrétní skupinu, pak ji pomocí příkazu grep odfiltrujte.

root@localhost:~# cat /etc/group | grep sudo
sudo:x:27:journaldev,test
root@localhost:~#

2. příkaz getent

Linux getent příkaz načte položky z databází podporovaných knihovnami přepínání služeb názvů. Můžeme jej použít k získání všech informací o skupinách z databáze skupin.

root@localhost:~# getent group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog
tty:x:5:
...

Podívejme se na několik dalších příkladů výpisu všech skupin v Linuxu.

Linux vypíše všechny názvy skupin

Pomocí příkazu cut můžeme vytisknout pouze názvy skupin. To je užitečné, když hledáme přítomnost konkrétního názvu skupiny ve skriptu shellu.

root@localhost:~# cut -d: -f1 /etc/group
root
daemon
bin
sys
adm
tty
...

Můžeme také použít příkaz cut s příkazem getent.

root@localhost:~# getent group | cut -d: -f1
root
daemon
bin
sys
adm
tty
disk
...

Příkaz cut rozdělí každý řádek pomocí oddělovače dvojtečkou (:). Poté se pomocí volby -f1 vybere první pole, což je název skupiny.

Výpis všech názvů skupin v abecedním pořadí

Výstup výše uvedených příkazů lze předat příkazu sort, aby se výstup vytiskl v přirozeném pořadí řazení.

root@localhost:~# getent group | cut -d: -f1 | sort
adm
audio
backup
bin
cdrom
crontab
daemon
...

Počet všech linuxových skupin

Pokud vás zajímá počet linuxových skupin, použijte následující příkazy.

root@localhost:~# cat /etc/group | grep -c ""
68
root@localhost:~# getent group | grep -c ""
68
root@localhost:~#

Vypsat všechny skupiny uživatele

Můžeme použít příkaz groups k získání všech skupin uživatele.

root@localhost:~# groups journaldev
journaldev : journaldev sudo test_users test_users_pwd
root@localhost:~# 

root@localhost:~# groups root
root : root
root@localhost:~#

Vypsat skupiny aktuálního uživatele

Pokud spustíte příkaz groups bez jakéhokoli vstupu uživatele, vytiskne se skupiny aktuálního uživatele.

root@localhost:~# groups
root
root@localhost:~# su - journaldev
journaldev@localhost:~$ groups
journaldev sudo test_users test_users_pwd
journaldev@localhost:~$ 

Vypsat uživatelské skupiny spolu s ID skupiny

K vytištění informací o uživateli můžeme použít příkaz id. Tento příkaz vypíše všechny skupiny spolu s jejich ID skupiny.

root@localhost:~# id journaldev
uid=1002(journaldev) gid=1003(journaldev) groups=1003(journaldev),27(sudo),1004(test_users),1007(test_users_pwd)
root@localhost:~# 
root@localhost:~# id root
uid=0(root) gid=0(root) groups=0(root)
root@localhost:~# 

Seznam všech uživatelů skupiny

Můžeme použít příkaz getent nebo soubor /etc/groups k získání všech uživatelů, kteří patří do skupiny.

root@localhost:~# getent group sudo
sudo:x:27:journaldev,test
root@localhost:~# 
root@localhost:~# getent group sudo | cut -d: -f4
journaldev,test
root@localhost:~# 

Závěr

K získání všech podrobností o skupinách Linuxu lze použít příkaz getent a soubor /etc/group. Můžeme je použít spolu s příkazy cut and sort, abychom prezentovali výstup lepším způsobem.

Odkazy

  • manuálovou stránku gettent
  • vyjmout manuálovou stránku příkazu

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

  2. Jak vypsat všechny nainstalované balíčky v Linuxu

  3. Jak vypsat všechny soubory oddílu na linuxu?

  1. Jak zobrazit seznam uživatelů v Linuxu, příkaz Seznam všech uživatelů

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

  3. Jak mohu uvést seznam všech zamčených uživatelů v Linuxu?

  1. Jak vypsat všechny databáze v PostgreSQL

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

  3. Jak vypsat seznam uživatelů v Linuxu