Správce systému Linux by měl sledovat, kdo je aktuálně přihlášen do systému Linux a co dělá. Už jsme věděli, jak najít poslední přihlášené uživatele v Linuxu. Jak byste identifikovali, kdo je v tuto chvíli přihlášen k vašemu systému Linux a co dělá? Snadný! Tento tutoriál uvádí různé způsoby, jak najít aktuálně přihlášené uživatele v Linuxu.
1. Najděte aktuálně přihlášené uživatele v Linuxu pomocí w
příkaz
V operačních systémech Linux existuje speciální jednopísmenný příkaz s názvem w
který vám pomůže zjistit, kdo je přihlášen a co v systému dělá. Toto je nejběžněji používaný nástroj příkazového řádku k zobrazení informací o uživatelích aktuálně na serveru a jejich procesech.
w
Příkaz je často užitečný při správě linuxového serveru, ke kterému často přistupuje mnoho uživatelů. Všechny je můžete sledovat, aniž byste museli instalovat další nástroje nebo aplikace.
w
příkaz zobrazuje různé užitečné podrobnosti včetně následujících:
- aktuální čas,
- jak dlouho systém běží,
- kolik uživatelů je aktuálně přihlášeno,
- a průměrné zatížení systému za posledních 1, 5 a 15 minut.
w
příkaz načte informace o tom, kdo je aktuálně přihlášen z /var/run/utmp
a načte informace o procesu z /proc
soubor.
Nyní se podívejme, jak používat w
příkaz k zobrazení toho, kdo je přihlášen na vašem počítači se systémem Linux a co dělá.
Typické použití w
příkaz je:
$ w [options] user
Když spustíte příkaz w bez jakýchkoli voleb, zobrazí se všichni aktuálně přihlášení uživatelé ve vašem systému Linux:
$ w
Ukázkový výstup:
08:42:30 up 28 min, 2 users, load average: 1.30, 0.87, 0.45
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
sk tty1 - 08:41 42.00s 0.10s 0.06s -bash
ostechni pts/1 192.168.225.37 08:42 6.00s 0.09s 0.01s w

Jak můžete vidět ve výše uvedeném výstupu, v současné době existují dva uživatelé (sk a ostechni ) přihlášen na můj server Ubuntu. w
zobrazí následující podrobnosti pro jednotlivé uživatele:
- přihlašovací jméno,
- jméno tty,
- zdrojová IP adresa, ze které se uživatel přihlásil,
- čas přihlášení,
- doba nečinnosti,
- Čas JCPU (čas používaný všemi procesy připojenými k tty),
- Čas PCPU (čas použitý aktuálním procesem),
- a příkazový řádek jejich aktuálního procesu.
Pokud chcete zobrazit podrobnosti konkrétního přihlášeného uživatele (např. ostechnix), příkaz by byl:
$ w ostechnix
08:51:36 up 37 min, 2 users, load average: 1.12, 1.06, 0.76
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
ostechni pts/1 192.168.225.37 08:42 0.00s 0.09s 0.01s w ostech
Záhlaví můžete z výstupu vynechat pomocí -h
možnost:
$ w -h
sk tty1 - 08:41 16:13 0.10s 0.06s -bash
ostechni pts/1 192.168.225.37 08:42 1.00s 0.09s 0.01s w -h
Můžete také zobrazit IP adresu místo názvu hostitele pro "FROM"
(vzdálený název hostitele) pomocí -i
možnost:
$ w -i
Možná nebudete chtít vytisknout všechny podrobnosti. Pokud ano, můžete vyloučit čas přihlášení, časy JCPU nebo PCPU pomocí -s
(--short
) možnost:
$ w -s
09:02:50 up 48 min, 2 users, load average: 0.31, 0.79, 0.84
USER TTY FROM IDLE WHAT
sk tty1 - 21:02 -bash
ostechni pts/1 192.168.225.37 1.00s w -s
Další podrobnosti naleznete na manuálových stránkách:
$ man w
Nebo se podívejte do sekce nápovědy:
$ w --help
Usage:
w [options]
Options:
-h, --no-header do not print header
-u, --no-current ignore current process username
-s, --short short format
-f, --from show remote hostname field
-o, --old-style old style output
-i, --ip-addr display IP address instead of hostname (if possible)
--help display this help and exit
-V, --version output version information and exit
For more details see w(1).
2. Zobrazit všechny přihlášené uživatele pomocí who
příkaz
who
command je dalším nástrojem příkazového řádku pro zobrazení informací o uživatelích, kteří jsou aktuálně přihlášeni na počítači se systémem Linux.
Pokud spustíte who
příkaz bez jakýchkoli voleb, zobrazí všechny přihlášené uživatele:
$ who
Ukázkový výstup:
sk tty1 2021-01-12 08:41
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)

Jak vidíte ve výše uvedeném výstupu, who
příkaz zobrazuje uživatelské jméno, typ koncového zařízení (např. tty
nebo pts
), na kterém se relace uskutečnila, čas spouštění a zdrojová IP adresa, ze které se uživatel přihlásil.
Podrobnosti pro konkrétního uživatele můžete filtrovat pomocí grep
příkaz:
$ who | grep ostechnix
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Výše uvedený příkaz zjistí, zda daný uživatel ostechnix je nebo není přihlášený.
Pokud chcete zobrazit informace pouze pro aktuální relaci terminálu, spusťte:
$ who am i
ostechnix pts/1 2021-01-12 08:42 (192.168.225.37)
Všimněte si prosím mezer mezi slovy. Pokud výše uvedený příkaz provedete bez mezer, zobrazí se pouze uživatelské jméno:
$ whoami
ostechnix
who
příkaz má několik dalších možností, jak získat přizpůsobený výstup.
Například můžete zobrazit všechny dostupné informace o aktuálních přihlášeních pomocí -a
příznak:
$ who -a
Ukázkový výstup:
system boot 2021-01-12 08:14
sk - tty1 2021-01-12 08:41 00:59 1463
run-level 5 2021-01-12 08:15
ostechnix + pts/1 2021-01-12 08:42 . 1477 (192.168.225.37)
LOGIN tty6 2021-01-12 08:41 1366 id=tty6
Chcete-li zobrazit všechny dostupné informace se záhlavími sloupců, použijte -H
příznak:
$ who -a -H
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2021-01-12 08:14
sk - tty1 2021-01-12 08:41 00:59 1463
run-level 5 2021-01-12 08:15
ostechnix + pts/1 2021-01-12 08:42 . 1477 (192.168.225.37)
LOGIN tty6 2021-01-12 08:41 1366 id=tty6
Více podrobností naleznete v manuálových stránkách a v části nápovědy příkazu who pomocí některého z následujících příkazů:
$ man who
$ who --help
3. Tisk přihlášených uživatelů pomocí users
příkaz
users
příkaz vytiskne uživatelská jména uživatelů aktuálně přihlášených k aktuálnímu hostitelskému systému.
Chcete-li zobrazit seznam všech přihlášených uživatelů v počítači se systémem Linux, spusťte:
$ users
ostechnix sk
Chcete-li získat nápovědu, spusťte některý z následujících příkazů:
$ man users
$ users --help
4. Zobrazit přihlášené uživatele s last
příkaz
last
příkaz obvykle zobrazí všechny uživatele, kteří se kdy přihlásili a odhlásili z počítače se systémem Linux od /var/log/wtmp
soubor byl vytvořen.
$ last
Seznam aktuálně přihlášených uživatelů je zobrazen nahoře.
ostechni pts/1 192.168.225.37 Tue Jan 12 08:42 still logged in
sk tty1 Tue Jan 12 08:41 still logged in
ostechni tty1 Tue Jan 12 08:41 - 08:41 (00:00)
sk pts/1 192.168.225.37 Tue Jan 12 08:41 - 08:41 (00:00)
[...]
Pro nápovědu se podívejte na manuálové stránky nebo použijte --help
možnost:
$ man last
$ last --help
5. Zjistěte, kdo je přihlášen v systému Linux pomocí příkazu id
id
příkaz se používá k tisku informací o uživateli a skupině pro zadaného USER, nebo pro aktuálního uživatele, když je vynechán USER.
Chcete-li vytisknout aktuálně přihlášeného uživatele v aktuální relaci, spusťte id
příkaz s -un
možnosti:
$ id -un
ostechnix
To je stejné jako u whoami
příkaz.
Chcete-li získat pomoc, postupujte takto:
$ man id
$ id --help
Všechny výše uvedené nástroje jsou standardně dostupné ve většině distribucí Linuxu. K dispozici je ještě jeden nástroj příkazového řádku pro zjištění, kdo je přihlášen v systému Linux. Ve výchozím nastavení není nainstalován, ale je k dispozici ve výchozích úložištích většiny distribucí Linuxu.
6. Seznam přihlášených uživatelů pomocí příkazu prst
Prst je nástroj pro vyhledávání uživatelských informací z příkazového řádku. Zobrazuje přihlašovací jméno uživatele, skutečné jméno, název terminálu a stav zápisu, dobu nečinnosti, dobu přihlášení, umístění kanceláře a telefonní číslo do kanceláře atd.
V některých distribucích Linuxu není program finger standardně nainstalován. Finger můžete nainstalovat do systémů Debian, Ubuntu pomocí správce balíčků apt, jak je uvedeno níže:
$ sudo apt install finger
Po instalaci spusťte příkaz finger a vyhledejte přihlášené uživatele ve vašem systému Linux:
$ finger
Ukázkový výstup:
Login Name Tty Idle Login Time Office Office Phone
ostechnix ostechnix pts/1 Jan 12 08:42 (192.168.225.37)
sk *tty1 3:17 Jan 12 08:41
Zobrazení informací o konkrétním uživateli:
$ finger ostechnix
Ukázkový výstup:
Login: ostechnix Name: ostechnix
Directory: /home/ostechnix Shell: /bin/bash
On since Tue Jan 12 08:42 (UTC) on pts/1 from 192.168.225.37
2 seconds idle
No mail.
No Plan.
Toto je několik způsobů, jak najít aktuálně přihlášené uživatele v systému Linux. Vědět, kdo je přihlášen, a zjistit, co ve vašem systému dělá, může být užitečné při odstraňování problémů. Doufám, že vám jedna z výše uvedených metod pomůže.
Související čtení:
- Jak vypsat seznam všech uživatelů v systému Linux
- Jak monitorovat aktivitu uživatele v systému Linux
- Jak omezit přístup uživatelů k systému Linux