GNU/Linux >> Znalost Linux >  >> Linux

3 způsoby, jak zobrazit seznam uživatelů v Linuxu

Dnes mají různé operační systémy schopnost používat více uživatelů, z nichž každý má svá nastavení a vlastní konfigurace, což správcům a operátorům usnadňuje spolupráci na stejném systému.

Linux je na druhou stranu v této věci velmi silný, protože umožňuje více uživatelům pracovat na systému současně nezávisle. Může dokonce umožnit jednomu uživateli otevřít několik relací z různých míst, aby mohl pracovat na systému.

Zde je několik tipů a triků pro práci s uživateli v Linuxu.

Seznam všech uživatelů v systému Linux

Řekněme, že chcete vytvořit uživatele sudo v Linuxu. Pravděpodobně úplně první věc, kterou je třeba vědět, je, jak zjistit, jací uživatelé jsou v mém systému. Existuje několik způsobů, jak získat seznam uživatelů v Linuxu.

1. Ukažte uživatelům v Linuxu, kteří používají méně /etc/passwd

Tento příkaz umožňuje sysops vypsat seznam uživatelů, kteří jsou lokálně uloženi v systému. Zobrazí výpis strukturovaným způsobem jako:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
johndoe:x:1000:1000:John Doe,,,:/home/helder:/bin/bash
davmail:x:127:65534::/var/lib/davmail:/usr/sbin/nologin
statd:x:128:65534::/var/lib/nfs:/usr/sbin/nologin
/etc/passwd (END)

Struktura ve výše uvedeném výstupu vypadá takto:

  • Uživatelské jméno
  • Šifrované heslo (x představuje heslo je uloženo)
  • Číslo ID uživatele (UID)
  • ID skupiny uživatele (GID)
  • Celé jméno
  • Domovský adresář uživatele
  • Přihlašovací shell uživatele (výchozí je bash shell)

Proč tolik uživatelů? Které jsou „skutečné“?

Seznam zobrazuje mnohem více uživatelů, než jste očekávali, protože obsahuje také všechny systémové uživatele.

Nyní, pokud chcete odlišit normální uživatele od systémových uživatelů, můžete se podívat na číslo identifikátoru uživatele (UID).

Obecně má normální uživatel UID větší nebo rovné 1000. To vám dává nápovědu, že uživatel s UID>=1000 je normální uživatel a uživatelé s UID <1000 jsou systémoví uživatelé.

Také si všimnete, že někteří uživatelé mají na konci řádku „nologin“. To znamená, že tito uživatelé se nemohou přihlásit do systému. Tito uživatelé jsou také označováni jako pseudo-uživatelé.

2. Zobrazit uživatele pomocí getent passwd

Tento příkaz vám poskytne podobný výstup jako „méně /etc/passwd“, ale tento příkaz se ve skutečnosti dotazuje na konfigurační soubor funkce GNU Name Service Switch (umístěný na /etc/nsswitch.conf).

Tento conf obsahuje passwd, takže se bude zobrazovat velmi podobně, ale pokud k ověření používáte LDAP, bude to zahrnovat také.

3. Seznam uživatelů Linuxu pomocí compgen

Pokud chcete pouze vypsat všechna uživatelská jména bez dalších informací, můžete použít příkaz compgen s -u možnost.

compgen -u

Výstup by byl tento:

compgen -u
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-network
systemd-resolve
syslog
messagebus
_apt
uuidd
avahi-autoipd
usbmux
dnsmasq
rtkit
cups-pk-helper
speech-dispatcher
whoopsie
kernoops
saned
pulse
avahi
colord
hplip
geoclue
gnome-initial-setup
gdm
abhishek 
Tip:Pro výpis všech dostupných příkazů můžete použít příkaz compgen s volbou -c. To je užitečné, když nejste správcem systému Linux a nemáte přístup sudo.

Několik tipů pro výpis uživatelů v Linuxu

Právě jste viděli tři způsoby zobrazení uživatelů v Linuxu. Zde je několik tipů, které vám pomohou při práci se seznamem uživatelů.

Uvést pouze uživatelská jména

Příkaz compgen pro to již máte, ale nemusíte si jej neustále pamatovat.

Pokud bychom chtěli získat pouze seznam uživatelských jmen v systému, můžete použít příkaz awk nebo příkaz cut k filtrování výstupu dalších dvou příkazů, které jsme viděli dříve.

cut -d: -f1 /etc/passwd

nebo

getent passwd | awk -F: '{ print $1}'

Kterákoli z nich nám poskytne filtrovaný seznam uživatelů, který zobrazuje pouze první sloupec, kterým je uživatelské jméno:

root
daemon
bin
sys
sync
games
man
lp
mail
news
johndoe
davmail
statd

Zkontrolujte, zda uživatelské jméno již v systému existuje

To může být užitečné, pokud chcete vědět, zda určité uživatelské jméno již v systému existuje:

getent passwd | grep johndoe

Toto je výstup:

johndoe:x:1000:1000:John Doe,,,:/home/johndoe:/bin/bash

Seznam všech připojených uživatelů

Pokud chcete vědět, jací uživatelé jsou aktuálně přihlášeni do vašeho systému Linux, musíte použít jednoduchý příkaz who, který okamžitě zobrazí aktuální uživatelská jména s aktivní relací do vašeho systému

[email protected]:~$ who
johndoe   :0           2019-01-28 21:35 (:0)
harrysmith   pts/0        2019-02-01 09:51 (192.168.1.1)
stevejones   pts/1        2019-02-02 09:51 (192.168.1.173)

V tomto případě vám výpis poskytne nejen seznam připojených uživatelských jmen, ale také způsob jejich připojení, od kdy jsou připojeni a odkud jsou připojeni.

Hned první sloupec vám řekne, jaké je to uživatelské jméno.

Druhý sloupec vám poskytne, o jaký typ připojení se jedná:pokud je znázorněno „:X“, kde X je číslo, znamená to, že používá grafické uživatelské rozhraní (GUI) nebo relaci plochy, jako je Gnome, XDE atd.; pokud je uvedeno „pts/X“, kde X je číslo, znamená to, že jde o připojení vytvořené prostřednictvím protokolu SSH (příkazový řádek).

Třetí sloupec vám řekne, od kdy byla tato relace připojena k serveru (datum a čas). Čtvrtý a poslední sloupec vám poskytne umístění, odkud je připojen, pokud je vzdálený, zobrazí IP, odkud je připojení vytvořeno, pokud místní (jako GUI) zobrazí „(:X)“, kde X je číslo relaci v tomto případě a bude odpovídat číslu ve druhém sloupci pro daný řádek.

Koneckonců

Jak vidíte, seznam uživatelů v Linuxu není vůbec složitý. Skládá se z jednoduchých příkazů, které za vás vypíší všechny informace, cokoliv chcete udělat nebo získat z těchto informací je něco, co musíte filtrovat podle toho, co chcete v systému zkontrolovat.

Chcete-li například uvést uživatele ve skupině v Linuxu, můžete to udělat také. V souvisejícím tématu si také můžete přečíst o změně uživatelů v příkazovém řádku Linuxu.

Doufám, že se vám tento návod líbil. Pokud máte nějaké dotazy nebo návrhy, dejte nám vědět v komentářích.


Linux
  1. 10 způsobů, jak analyzovat binární soubory na Linuxu

  2. Seznam uživatelů v Linuxu – Nejlepší metoda

  3. Linux - Jak vypsat všechny uživatele

  1. Jak vypsat seznam uživatelů v Linuxu

  2. Linux ls Command - Seznam souborů

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

  1. 3 způsoby, jak hrát videohry na Linuxu

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

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