Linux查看用户的登录信息

2023-07-07 15:35:36 4220

Linux查看用户的登录信息

一、使用w或who命令都可以查看服务器上目前已登录的用户信息,两者的区别在于,w命令除了能知道目前已登陆的用户信息,还可以知道每个用户执行任务的情况。
w命令的基本格式如下:

[root@localhost ~]# w [选项] [用户名]

此命令常用选项及含义,如表所示。如果 w 命令后跟 [用户名],则表示只显示此用户的信息。

选项

含义

-h

不显示输出信息的标题

-l

用长格式输出

-s

用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间

-V

显示版本信息

【例 1】显示当前用户登陆信息。
image.png

上面的输出信息中,第一行其实和 top 命令的第一行非常类似,主要显示了当前的系统时间、系统从启动至今已运行的时间、登陆到系统中的用户数和系统平均负载。

平均负载(load average)指的是在 1 分钟、5 分钟、15 分钟内系统的负载状况。

从第二行开始,显示的是当前所有登陆系统的用户信息,第二行是用户信息的各列标题,从第三行开始每行代表一个用户。这些标题的含义如表所示。


标题

含义

USER

登录到系统的用户。

TTY

登录终端。

FROM

表示用户从哪里登陆进来,一般显示远程登陆主机的 IP 地址或者主机名。

LOGIN@

用户登陆的日期和时间。

IDLE

表示某个程序上次从终端开始执行到现在所持续的时间。

JCPU

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

PCPU

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

WHAT

当前用户正在执行的进程名称和选项,换句话说,就是表示用户当前执行的是什么命令。

相比较 w 命令,who 命令只能显示当前登陆的用户信心,但无法知晓每个用户正在执行的命令。

who命令的基本格式如下:

[root@localhost ~]# who [选项] [file]

需要说明的是,who 命令默认是通过 /var/run/utmp 文件来获取登陆用户信息,但如果通过 file 指定另一个文件,则 who 命令将不再默认读取 /var/run/utmp 文件,而是读取该指定文件来获取信息。
有关 who 命令常用选项及含义,如表所示。

选项

含义

-a

列出所有信息,相当于所有选项。

-b

列出系统最近启动的时间日期。

-l

列出所有可登陆的终端信息。

-m

仅列出关于当前终端的信息,who -m 命令等同于 who am i

-q

列出在本地系统上的用户和用户数的清单。

-r

显示当前系统的运行级别。

-s

仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。

-u

显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。

-T 或 -w

显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。

【例 2】显示系统最新启动日期,以及每个用户的登陆详情、终端状态。
image.png

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

 

二、使用last 或lastlog命令可以查看原先登录的用户现在已经退出登录的用户信息,last命令可以查看当前和过去登陆系统用户的相关信息;lastlog 命令可以查看到每个系统用户最近一次登陆系统的时间。
last 命令,此命令的基本格式如下所示:

[root@localhost ~]# last [选项]

选项

含义

-a

把从何处登陆系统的主机名或 IP 地址显示在最后一行。

-R

不显示登陆系统的主机名或 IP 地址。

-x

显示系统关机、重新开机以及执行等级的改变等信息。

-n 显示列数

设置列出信息的显示列数。

-d

将显示的 IP 地址转换成主机名称。

在执行 last 命令时,它默认会读取 /var/log/wtmp 日志文件,这是一个二进制文件,不能直接用 vi 编辑,只能通过 last 命令调用。
【例 1】查询当前和过去登录的用户信息。

image.png

#用户名 登录终端 登录IP 登录时间 - 退出时间(在线时间)
image.png

#还能看到系统的重启时间

再来看看 lastlog 命令,此命令可以查看登陆过当前系统用户的最近一次登陆时间,比如:

image.png

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

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


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: