我用 LinuxLinux每日命令码农的世界

linux查看本机登陆用户信息(w、who、last和lastl

2019-05-22  本文已影响1人  快乐程序员

w 命令查看某一时刻用户的行为

[lvjinliang@dev_server ~]$ w

09:34:40 up 127 days, 13:49,  2 users,  load average: 0.00, 0.00, 0.00

USER    TTY      FROM              LOGIN@  IDLE  JCPU  PCPU WHAT

lvjinlia pts/0    203.156.223.130  09:33    0.00s  0.00s  0.00s w

lvjinlia pts/2    203.156.223.130  09:34  25.00s  0.01s  0.00s sshd: lvjinliang [priv]

说明:

解释一下这个命令的输出。

第一行其实和 top 命令的第一行非常类似,主要显示了系统当前时间、开机多久(up)、有多少用户登录(users),以及 1 分钟、5 分钟、15 分钟前的平均负载(load average)。

第二行是项目的说明,从第三行开始每行代表一个用户。这些项目具体如下:

USER:登录的用户名。

TTY:登录终端。

FROM:从哪个 IP 地址登录。

LOGIN@:登录时间。

IDLE:用户闲置时间。

JCPU:和该终端连接的所有进程占用的 CPU 运算时间。这个时间里并不包括过去的后台作业时间,但是包括当前正在运行的后台作业所占用的时间。

PCPU:当前进程所占用的 CPU 运算时间。

WHAT:当前正在运行的命令。

从 w 命令的输出中已知,Linux 服务器上已经登录了两个 root 用户,都是从远程终端 登录的,登录的来源 IP 是 203.156.223.130。

pts/0:执行 w命令

pts/2:执行 sshd 其实就是执行一个su 命令

who 用来查看系统中已经登录的用户

[lvjinliang@dev_server ~]$ who

lvjinliang pts/0        2019-05-22 09:33 (203.156.223.130)

lvjinliang pts/2        2019-05-22 09:34 (203.156.223.130)

lvjinliang pts/3        2019-05-22 09:46 (203.156.223.130)

#用户名    登录终端      登录时间        (登录来源IP)

last 查询当前已经登录和过去登录的用户信息

[root@dev_server ~]# last

lvjinlia pts/3        203.156.223.130  Wed May 22 09:46  still logged in

lvjinlia pts/2        203.156.223.130  Wed May 22 09:34  still logged in

lvjinlia pts/0        203.156.223.130  Wed May 22 09:33  still logged in

lvjinlia pts/0        203.156.223.130  Tue May 21 11:14 - 11:34  (00:20) 

lvjinlia pts/2        203.156.223.130  Mon May 20 11:33 - 11:59  (00:25) 

lvjinlia pts/0        203.156.223.130  Mon May 20 11:23 - 11:47  (00:23) 

lvjinlia pts/2        203.156.223.130  Mon May 20 10:54 - 11:23  (00:29) 

lvjinlia pts/0        203.156.223.130  Mon May 20 10:35 - 11:07  (00:32)

#用户名  登录终端      登录来源IP        登录时间段 (still logged in表示当前依然在登录)

lastlog 查看系统中所有用户的最后一次登录时间、登录端口和来源IP

[root@dev_server ~]# lastlog

用户名          端口    来自            最后登陆时间

root            pts/2    101.95.191.26    四 11月 23 13:01:09 +0800 2017

bin                                        **从未登录过**

daemon                                    **从未登录过**

adm                                        **从未登录过**

lp                                        **从未登录过**

sync                                      **从未登录过**

shutdown                                  **从未登录过**

halt                                      **从未登录过**

mail                                      **从未登录过**

uucp                                      **从未登录过**

operator                                  **从未登录过**

games                                      **从未登录过**

gopher                                    **从未登录过**

ftp                                        **从未登录过**

nobody                                    **从未登录过**

vcsa                                      **从未登录过**

saslauth                                  **从未登录过**

postfix                                    **从未登录过**

sshd                                      **从未登录过**

ntp                                        **从未登录过**

tcpdump                                    **从未登录过**

nscd                                      **从未登录过**

mysql                                      **从未登录过**

www                                        **从未登录过**

apache                                    **从未登录过**

lvjinliang      pts/1    203.156.223.130  三 5月 22 10:03:52 +0800 2019

lastlog 命令默认是去读取 /var/log/lastlog 日志文件的,这个文件同样是二进制文件,不能直接用 vi 编辑,需要使用 lastlog 命令调用

观注快乐程序员公众号,每日分享一点小知识。爱编程,爱生活!

上一篇 下一篇

猜你喜欢

热点阅读