Jak vypsat seznam uživatelů v systému Linux

Už jste někdy chtěli vypsat seznam všech uživatelů ve vašem systému Linux nebo spočítat počet uživatelů v systému? Existují příkazy pro vytvoření uživatele, smazání uživatele, seznam přihlášených uživatelů, ale jaký je příkaz pro seznam všech uživatelů v systému Linux?

Tento výukový program vám ukáže, jak zobrazit seznam uživatelů v systémech Linux.

Získejte seznam všech uživatelů pomocí souboru / etc / passwd Č. souboru

Informace o místním uživateli jsou uloženy v souboru /etc/passwd. Každý řádek v tomto souboru představuje přihlašovací údaje pro jednoho uživatele. Soubor můžete otevřít pomocí cat nebo less:

Každý řádek v souboru má sedm polí oddělených dvojtečkami, které obsahují následující informace:

Pokud chcete zobrazit pouze uživatelské jméno můžete použít awk nebo cut příkazy k tisku pouze prvního pole obsahujícího uživatelské jméno:

Získejte seznam všech uživatelů pomocí příkazu getent #

Příkaz getent zobrazuje položky z databází nakonfigurovaných v souboru /etc/nsswitch.conf, včetně passwd databáze, kterou lze použít k dotazování na seznam všech uživatelů.

Chcete-li získat seznam všech uživatelů systému Linux, zadejte následující příkaz :

Jak vidíte, výstup je stejný jako při zobrazení obsah souboru /etc/passwd. Pokud používáte LDAP k ověřování uživatelů, getent zobrazí všechny uživatele systému Linux ze souboru /etc/passwd i z databáze LDAP.

Můžete také použít awk nebo cut k vytištění pouze prvního pole obsahujícího uživatelské jméno:

Zkontrolovat, zda uživatel v systému Linux existuje #

Nyní, když víme, jak vypsat seznam všech uživatelů, abychom zkontrolovali, zda uživatel existuje v naší linuxové schránce, můžeme jednoduše filtrovat seznam uživatelů přepsáním seznamu do příkazu grep.

Například zjistit, zda v našem systému Linux existuje uživatel s názvem jack, můžeme použít následující příkaz:

Pokud uživatel existuje, výše uvedený příkaz vytiskne přihlašovací údaje uživatele informace. Žádný výstup, který znamená, že uživatel neexistuje.

Můžeme také zkontrolovat, zda uživatel existuje, aniž bychom použili příkaz grep, jak je uvedeno níže:

Stejně jako dříve, pokud uživatel existuje, zobrazí příkaz přihlašovací údaje uživatele.

Chcete-li zjistit, kolik uživatelských účtů existuje máte ve svém systému, připojte výstup getent passwd k příkazu wc:

Jak vidíte z výstupu výše, můj systém Linux má 33 uživatelských účtů.

Systémoví a normální uživatelé #

Neexistuje žádný skutečný technický rozdíl mezi systémem a běžnými (normálními) uživateli. Uživatelé systému se obvykle vytvářejí při instalaci operačního systému a nových balíčků. V některých případech můžete vytvořit systémového uživatele, který bude používán některými aplikacemi.

Normální uživatelé jsou uživatelé vytvoření rootem nebo jiným uživatelem s oprávněním sudo. Normální uživatel má obvykle skutečný přihlašovací shell a domovský adresář.

Každý uživatel má číselné ID uživatele s názvem UID. Pokud není zadáno při vytváření nového uživatele pomocí příkazu useradd, bude ze souboru /etc/login.defs automaticky vybrán UID v závislosti na UID_MIN a UID_MIN hodnoty.

Zkontrolovat UID_MIN a UID_MIN hodnoty ve vašem systému, můžete použít následující příkaz:

Z výše uvedeného výstupu vidíme, že všichni normální uživatelé by měli mít UID mezi 1000 a 60000. Znalost minimální a maximální hodnoty nám umožňuje dotazovat se na seznam všech normálních uživatelů v našem systému.

Následující příkaz zobrazí seznam všech běžných uživatelů v našem systému Linux:

Hodnoty vašeho systému UID_MIN a UID_MIN se mohou lišit, takže obecnější verze výše uvedeného příkazu bude:

Chcete-li vytisknout pouze uživatelská jména, stačí přesměrovat výstup na příkaz cut:

Závěr #

V tomto výukovém programu jste se naučili seznam a filtrování uživatelů ve vašem systému Linux a jaké jsou hlavní rozdíly mezi systémem a normálním Linuxem uživatelé.

Stejné příkazy platí pro jakoukoli distribuci Linuxu, včetně Ubuntu, CentOS, RHEL, Debian a Linux Mint.

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *