Linux查看本机登陆用户信息(w、who、last和lastlog)详解
w 命令查看某一时刻用户的行为[lvjinliang@dev_server ~]$ w09:34:40 up 127 days, 13:49,2 users,load average: 0.00, 0.00, 0.00USERTTYFROMLOGIN@IDLEJCPUPCPU WHATlvjinlia pts/...
·
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 命令调用
观注快乐程序员公众号,每日分享一点小知识。爱编程,爱生活!
更多推荐
已为社区贡献1条内容
所有评论(0)