GNU/Linux >> Znalost Linux >  >> Linux

Jak najít aktuálně přihlášené uživatele v Linuxu

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

Linux
  1. Jak najít všechny uživatele Sudo v Linuxu

  2. Jak najít výchozí IP bránu v Linuxu

  3. Jak zjistím počet uživatelů online v Linuxu?

  1. Jak zjistit svou IP adresu v Linuxu

  2. Jak používat FIND v Linuxu

  3. Jak najít soubor v Linuxu

  1. Jak najít soubory v Linuxu

  2. Jak najít IP adresu v Kali Linuxu

  3. Jak odeslat zprávu přihlášeným uživatelům v terminálu Linux