/Linux / /学习笔记 · 2023年 7月 9日 0

Linux查看用户的登录信息

Linux查看用户的登录信息
一、使用 w 或 who 命令都可以查看服务器上目前已登录的用户信息,两者的区别在于,w 命令除了能知道目前已登陆的用户信息,还可以知道每个用户执行任务的情况。
w 命令的使用,w 命令的基本格式如下:
[root@localhost ~]# w [选项] [用户名]
此命令常用选项及含义,如表所示。如果 w 命令后跟 [用户名],则表示只显示此用户的信息。
file
【例 1】显示当前用户登陆信息。
file
上面的输出信息中,第一行其实和 top 命令的第一行非常类似,主要显示了当前的系统时间、系统从启动至今已运行的时间、登陆到系统中的用户数和系统平均负载。
平均负载(load average)指的是在 1 分钟、5 分钟、15 分钟内系统的负载状况。
从第二行开始,显示的是当前所有登陆系统的用户信息,第二行是用户信息的各列标题,从第三行开始每行代表一个用户。这些标题的含义如表所示。
file
从 w 命令的输出中已知,Linux 服务器上已经登录了两个 root 用户,一个是从本地终端 1 登录的(tty1),另一个是从远程终端 1 登录的(pts/0),登录的来源 IP 是 192.168.0.108。
相比较 w 命令,who 命令只能显示当前登陆的用户信心,但无法知晓每个用户正在执行的命令。
who 命令的基本格式如下:
[root@localhost ~]# who [选项] [file]
需要说明的是,who 命令默认是通过 /var/run/utmp 文件来获取登陆用户信息,但如果通过 file 指定另一个文件,则 who 命令将不再默认读取 /var/run/utmp 文件,而是读取该指定文件来获取信息。
有关 who 命令常用选项及含义,如表所示。
file
【例 2】显示系统最新启动日期,以及每个用户的登陆详情、终端状态。
file
用户名 登录终端 登录时间(登录来源IP)

二、使用last 或lastlog命令可以查看原先登录的用户现在已经退出登录的用户信息,last命令可以查看当前和过去登陆系统用户的相关信息;lastlog 命令可以查看到每个系统用户最近一次登陆系统的时间。
last 命令,此命令的基本格式如下所示:
[root@localhost ~]# last [选项]
file
在执行 last 命令时,它默认会读取 /var/log/wtmp 日志文件,这是一个二进制文件,不能直接用 vi 编辑,只能通过 last 命令调用。
【例 1】查询当前和过去登录的用户信息。
file
用户名 登录终端 登录IP 登录时间 – 退出时间(在线时间)
file
还能看到系统的重启时间
再来看看 lastlog 命令,此命令可以查看登陆过当前系统用户的最近一次登陆时间,比如:
file
用户名        端口    来自                最后登陆时间
lastlog 命令默认是去读取 /var/log/lastlog 日志文件的,这个文件同样是二进制文件,不能直接用 vi 编辑,需要使用 lastlog 命令调用。