Jak vypsat seznam uživatelů v Linuxu

How List Users Linux



Linux je víceuživatelský operační systém. Aby byl systém funkční a produktivní, je správná správa uživatelů povinná. Pro správce systému je znalost všech uživatelů nezbytná ke správě uživatelů a oprávnění.

Tato příručka ukazuje, jak vypsat seznam uživatelů v Linuxu.







Seznam uživatelů

Systém ukládá seznam uživatelů do konkrétních souborů a databází. Můžeme k nim přistupovat pomocí různých nástrojů. Můžeme také filtrovat výstup a shromažďovat konkrétní informace.



Seznam uživatelů z /etc /passwd
Soubor /etc /passwd je databáze založená na prostém textu, která obsahuje informace o všech uživatelích v systému. Soubor je ve vlastnictví uživatele root s oprávněním k souboru 644. Podrobnější vysvětlení oprávnění k souborům naleznete v této příručce týkající se oprávnění a vlastnictví souboru Linux.



Můžeme zkontrolovat obsah souboru /etc /passwd, abychom měli úplný seznam všech uživatelů v systému.





$ cat /etc /passwd | třídit | méně

Každý řádek v souboru označuje jedinečné uživatelské jméno a související informace. Informace jsou rozděleny do sedmi polí, oddělených dvojtečkami. Zde je rychlý přehled polí.



  • Pole 1: Uživatelské jméno uživatele.
  • Pole 2: Popisuje, zda je heslo uživatele zašifrováno. Pokud je hodnota x, znamená to, že heslo je uloženo v textovém souboru /etc /shadow. Je to soubor chráněný systémem, který vyžaduje přístup sudo.
  • Pole 3: UID (ID uživatele) uživatele.
  • Pole 4: GID (ID skupiny) uživatele.
  • Pole 5: Úplné uživatelské jméno (GECOS).
  • Pole 6: Domovský adresář vyhrazený pro uživatele.
  • Pole 7: Shell pro přihlášení uživatele. Ve výchozím nastavení by tato hodnota byla nastavena na /bin /bash.

Pokud další informace v tuto chvíli nejsou nutné, můžeme je ve výstupu vynechat.

$ cat /etc /passwd | awk -F: '{tisk $ 1}' | třídit

$ cat /etc /passwd | cut -d: -f1 | třídit

Seznam uživatelů pomocí getent
Termín getent je krátký formulář pro získání záznamů z administrativní databáze. Jak naznačuje, getent může pracovat s různými administrativními databázemi. Podívejte se na všechny podporované administrativní databáze.

$ getent --help

Máme zájem o databázi passwd, protože obsahuje informace o všech uživatelích v systému. Podívejte se na passwd databáze s getent.

$ getent passwd | třídit

Výstup je podobný obsahu /etc /passwd. Všimněte si, že tento příkaz getent zobrazí uživatele z databází passwd i LDAP, pokud je systém nakonfigurován tak, aby pro ověřování uživatelů používal LDAP. Chcete-li získat podrobnější informace, podívejte se na tuto příručku k příkazu Linux getent.

Můžeme z výstupu odstranit všechny dodatečné informace, přičemž ponecháme pouze uživatelské jméno.

$ getent passwd | awk -F: '{tisk $ 1}' | třídit

$ getent passwd | cut -d: -f1 | třídit

Seznam uživatelů skupiny
V systému Linux jsou skupiny organizačními jednotkami pro organizaci a správu uživatelských účtů. Pomáhá snadněji spravovat různá systémová a souborová oprávnění.

K výpisu všech uživatelů z konkrétní skupiny uživatelů můžeme použít getent.

$ getent skupina

Používání seznamu uživatelů

Nyní víme, jak vypsat seznam všech uživatelů v systému. Zde je několik scénářů, jak tyto znalosti uplatnit.

Kontrola existence uživatele
Ze seznamu uživatelů můžeme zkontrolovat, zda uživatel v systému Linux existuje. Nástroj getent může zkontrolovat, zda uživatel v systému existuje.

$ getent passwd

Další (i když ne tak dobrá) metoda je použít grep. Seznam uživatelů můžeme jednoduše filtrovat pomocí grep. Protože každý uživatel má svůj vlastní jedinečný záznam, nebude generovat žádné kolize.

$ getent passwd | grep

Počet uživatelských účtů
Jak jsme dosud viděli, všechny metody hlásí na každém řádku výstupu jedinečného uživatele. Spočítáním čísla řádku můžeme zkontrolovat, kolik uživatelů je aktuálně v systému.

K počítání čísla řádku použijeme toaleta nářadí. Pipněte výstup getent na příkaz wc.

$ getent passwd | wc -l

Seznam připojených uživatelů
Pokud je přihlášeno více uživatelů, můžeme seznam připojených uživatelů zkontrolovat pomocí SZO příkaz.

$ kdo

Ve výstupu jsou tři různé sloupce informací.

  • Sloupec 1: Připojené uživatelské jméno.
  • Sloupec 2: Typ připojení k systému.
  • Sloupec 3: Počáteční čas a datum relace.

Závěrečné myšlenky

V tomto kurzu jsme ukázali, jak vypsat a filtrovat uživatele v systému. Představuje také některá potenciální použití seznamu uživatelů. Tyto metody fungují bez ohledu na to, jaké distribuce Linuxu používáte.

Správa uživatelů je velkou součástí ekosystému Linuxu. Chcete-li se dozvědět více, podívejte se na tento podrobný průvodce na jak vypisovat a spravovat uživatele v Linuxu .

Šťastný výpočet!