Jak vypsat všechny uživatele v Linuxu

Jak vypsat všechny uživatele v Linuxu

Uživatelé jsou nejdůležitější součástí systému Linux. Linux poskytuje správcům vestavěné příkazy, které jim umožňují efektivně spravovat uživatele. Existuje jeden pro vytváření uživatelů, mazání uživatelů a změnu uživatelských oprávnění. Ale co výpis všech uživatelů, kteří jsou aktuálně přítomni v systému?





V tomto článku budeme diskutovat o tom, jak můžete získat seznam všech uživatelů v Linuxu, spolu se stručným průvodcem, jak zjistit, zda uživatel v systému existuje nebo ne.





Jak zobrazit seznam všech uživatelů v Linuxu

Když vytvoříte nového uživatele, uživatelské jméno, heslo a další podrobnosti se uloží do konkrétních souborů na počítači se systémem Linux. Naštěstí vám Linux umožňuje číst a upravovat takové soubory bez jakéhokoli omezení. Pomocí těchto souborů můžete znát informace týkající se uživatelů, například jejich uživatelská jména, počet uživatelů a další.





Pomocí souboru Passwd

The passwd soubor je textový soubor, který obsahuje záznamy o heslech všech uživatelů, kteří jsou aktuálně přítomni ve vašem systému. Tento soubor je umístěn v souboru /atd adresář ve vašem místním úložišti a obsahuje následující informace:

  1. Uživatelská jména
  2. Šifrovaná hesla
  3. uživatelské ID
  4. ID skupiny uživatele
  5. Celé jméno
  6. The /Domov adresář uživatele
  7. Přihlašovací shell uživatele

Typ kočka /etc /passwd nebo méně /etc /passwd ve svém terminálu přečíst textový soubor. Otevření /etc/passwd soubor vygeneruje výstup, který vypadá nějak takto.



root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Výše uvedený výstup obsahuje sedm polí, která obsahují informace týkající se uživatelů. Tato pole jsou oddělena oddělovačem-v tomto případě dvojtečkou. Každý řádek ve výstupu označuje jednoho uživatele.

Chcete -li získat seznam všech uživatelských jmen pomocí passwd soubor:





awk -F: '{ print }' /etc/passwd

Awk je nástroj příkazového řádku, který umožňuje uživatelům Linuxu vytvářet jednoduché 'jednořádkové' programy, které z terminálu provádějí rychlé operace. Ve výše uvedeném kódu:

  1. -F znamená oddělovač polí. Protože znak dvojtečky je oddělovač v /etc/passwd soubor, předáme dvojtečku jako oddělovač v příkazu awk.
  2. {tisk $ 1} dává systému pokyn k vytištění prvního pole. V tomto případě je první pole uživatelským jménem uživatelů.
  3. /etc/passwd soubor obsahuje data související s uživateli.

Spuštěním výše uvedeného příkazu se zobrazí uživatelská jména všech uživatelů. Od té doby /etc/passwd soubor obsahuje uživatele systému, výstup bude obsahovat také jejich uživatelská jména.





root
daemon
bin
sys
sync
games
man

Příkaz awk můžete mírně vyladit, aby se vytiskla celá jména uživatelů. Chcete -li zobrazit úplná jména uživatelů v systému Linux, zadejte následující příkaz:

awk -F: '{ print }' /etc/passwd

Protože uživatelé systému mají stejné uživatelské jméno a celé jméno, nezaznamenáte ve výstupu žádný rozdíl. Pouze uživatelé, které jste přidali do svého systému, budou mít různá uživatelská jména a celá jména.

Alternativně můžete také použít střih místo příkazu awk. Syntaxe cut je docela podobná příkazu awk.

Chcete -li vytisknout uživatelská jména v systému Linux pomocí příkazu cut:

cut -d: f1 /etc/passwd

Tady, -d je oddělovač, f1 označuje první pole (uživatelské jméno) a /etc/passwd je textový soubor, který obsahuje data.

pomozte mi najít film, na který se budu dívat

Chcete -li vytisknout křestní jména uživatelů pomocí příkazu cut:

cut -d: f5 /etc/passwd

Podobně můžete z pole /etc/passwd soubor jednoduše nahrazením f5 s f1-f7 .

Příbuzný: Jak změnit heslo systému Linux

Seznam uživatelů pomocí příkazu getent

Příkaz getent vytiskne obsah důležitých textových souborů, které fungují jako databáze pro systém. Soubory jako /etc/passwd a /etc/nsswitch.conf obsahují informace týkající se uživatelů a sítí a lze je přečíst pomocí příkazu getent.

kdo mě nesleduje zpět na instagramu online

Chcete -li vytisknout obsah souboru /etc/passwd soubor pomocí getent:

getent passwd

Výstup bude obsahovat sedm různých polí oddělených znakem dvojtečky. Každé pole je vyhrazeno pro konkrétní informace, včetně uživatelských jmen a cest domovských adresářů uživatelů.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

Příkaz getent můžete řetězit pomocí awk nebo cut, čímž získáte pouze seznam uživatelských jmen.

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f1

Chcete -li vytisknout úplná jména uživatelů:

getent passwd | awk -F: '{print }'
getent passwd | cut -d: -f5

Zkontrolujte, zda uživatel existuje nebo ne

V některých situacích můžete chtít zkontrolovat, zda uživatel ve vašem systému Linux existuje nebo ne. The rukojeť příkaz se hodí, když chcete ze souboru uchopit konkrétní textový vzor.

K ověření existence uživatele můžete použít kterýkoli z následujících příkazů.

compgen -u | grep username
getent passwd | grep username

Pokud uživatel existuje, přihlašovací údaje s ním spojené se zobrazí na obrazovce. Na druhou stranu, pokud uživatel není v systému přítomen, dojde k chybě.

Chcete -li zkontrolovat, zda uživatel v systému existuje bez použití grep:

getent passwd username

Můžete také potrubí getent nebo kompen příkaz pomocí rukojeť a vyhodil k zobrazení vlastního výstupu.

getent passwd | grep -q username && echo 'User found' || echo 'User not found'
compgen -u | grep -q username && echo 'User found' || echo 'User not found'

Výše uvedený příkaz vytiskne „Uživatel nalezen“, pokud uživatel v systému existuje, a „Uživatel nebyl nalezen“, pokud neexistuje.

Spočítat počet uživatelů v systému

Chcete -li spočítat počet uživatelů, kteří existují v systému Linux:

compgen -u | wc -l
getent passwd | wc -l

Ve výše uvedených příkazech kompen a getent zodpovídají za zobrazení seznamu obsahujícího všechny uživatele a další související informace. The toaleta znamená počet slov a používá se k počítání počtu slov nebo řádků ve výstupu. The -ten vlajka označuje Čáry .

Ověření uživatelských účtů v systému Linux

Každý správce Linuxu by měl vědět, jak může spravovat a spravovat ostatní uživatele v systému. Zvládnutí příkazů Linuxu, které vám umožní vytvářet, odebírat, řídit a vypisovat další uživatele, je skvělý způsob, jak začít se správou uživatelů.

Pocit pohody v prostředí Linuxu by měl být váš první cíl, pokud jste teprve začátečník. Existují určité věci, které musíte udělat hned po instalaci své první distribuce Linuxu. Naučit se některé základní příkazy je jedním z nich a je nezbytný pro provádění jednoduchých výpočetních úloh v systému Linux.

Podíl Podíl tweet E-mailem Jak začít používat Linux

Zajímá vás používání Linuxu, ale nevíte, kde začít? Naučte se používat Linux, od výběru distribuce až po instalaci aplikací.

Číst dále
Související témata
  • Linux
  • Linux
O autorovi Deepesh Sharma(79 článků zveřejněno)

Deepesh je juniorský editor pro Linux na MUO. Píše informační příručky pro Linux s cílem poskytnout všem nováčkům blažený zážitek. Nejste si jisti filmy, ale pokud chcete mluvit o technologii, je to váš chlap. Ve svém volném čase ho můžete najít číst knihy, poslouchat různé hudební žánry nebo hrát na kytaru.

Více od Deepesh Sharma

Přihlaste se k odběru našeho zpravodaje

Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné elektronické knihy a exkluzivní nabídky!

Kliknutím sem se přihlásíte k odběru