LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。
一.查看用户的操作
系统管理员若想知道某一时刻用户的行为,只需要输入命令w即可,在SHELL终端中输入如下命令:
[root@localhost ~]# w
14:04:54 up 1 day, 21:02, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.19.20.233 14:02 2:30 0.03s 0.03s -bash
root pts/1 172.19.20.233 14:02 6.00s 0.03s 0.00s w
root pts/2 172.19.20.233 14:02 1:34 0.10s 0.10s -bash
[root@localhost ~]#
可以看到执行W命令及显示结果。
命令信息含义
上述显示的信息分别表示如下:
1.第一行显示系统的汇总信息
字段分别表示:系统当前时间、系统运行时间、登陆服务器用户总数、系统平均负载信息。
对于上述势力中的几个显示数据意义为:
14:04:54 : 表示执行W的时间是在下午2点4分。
1 day, 21:02 表示系统运行1天21小时。
3 users 表示当前系统登陆用户总数为3。
load average与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
2.第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料
USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。
TTY:用户登陆所用的终端。
FROM:显示用户在何处登陆系统。
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。
JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
PCPU:指WHAT域的任务执行后耗费的CPU时间。
WHAT:表示当前执行的任务。
二.查看某用户
当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况。
[root@localhost ~]# w root
14:14:01 up 1 day, 21:11, 3 users, load average: 0.05, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.19.20.233 14:02 11:37 0.03s 0.03s -bash
root pts/1 172.19.20.233 14:02 1.00s 0.03s 0.00s w root
root pts/2 172.19.20.233 14:02 10:41 0.10s 0.10s -bash
[root@localhost ~]#
默认情况下,系统会显示上述所有的信息,如果只关心某一方面,可以只使用相关的选项。
三.查看用户登录历史
last | head -n 5
[root@localhost ~]# last | head -n 5
root pts/2 172.19.20.233 Fri May 17 14:02 - 14:25 (00:23)
root pts/1 172.19.20.233 Fri May 17 14:02 still logged in
root pts/0 172.19.20.233 Fri May 17 14:02 still logged in
root pts/0 172.19.20.233 Fri May 17 14:00 - 14:01 (00:01)
root pts/2 27.154.242.142 Fri May 17 13:41 - 13:54 (00:13)
last
last
oracle pts/0 192.168.1.116 Mon Jul 1 15:18 still logged in
oracle pts/0 192.168.1.116 Tue Jun 25 17:39 - 18:04 (00:25)
oracle pts/0 192.168.1.116 Tue Jun 25 17:13 - 17:14 (00:00)
oracle pts/1 192.168.1.116 Tue Jun 25 15:05 - 15:07 (00:01)
oracle pts/0 192.168.1.116 Tue Jun 25 11:20 - 15:12 (03:51)
四.踢出用户
#pts/0为w指令看到的用户终端号
pkill -KILL -t pts/0
五.查看当前登录用户
1.用户说明:
who命令用于显示谁登录了系统(showwho is logged on),who am i与之相同。另外一个叫whoami的命令,只输出用户账号。而who或者who ami不仅显示账号,还显示终端文件名、时间、来源IP等。
2.常用方式
格式:who
格式:who am i
简单显示当前登录系统用户的信息,可以轻松的获取当前登录系统的用户列表,包含使用终端登录。
格式:who -a
格式:who -aH
显示所有用户的所有信息(The -aargument of the who command lists all available output for each user on yoursystem.)
-H参数表明显示表头(显示列标题)。
3.使用示例
[root@localhost ~]# who
root pts/0 2019-05-17 14:02 (172.19.20.233)
root pts/1 2019-05-17 14:02 (172.19.20.233)
root pts/2 2019-05-17 14:02 (172.19.20.233)
[root@localhost ~]# whoami
root
[root@localhost ~]# who am i
root pts/1 2019-05-17 14:02 (172.19.20.233)
[root@localhost ~]# who -a
系统引导 2019-05-15 17:02
登录 tty1 2019-05-17 14:02 28183 id=tty1
运行级别 3 2019-05-15 17:03
root + pts/0 2019-05-17 14:02 00:21 28163 (172.19.20.233)
root + pts/1 2019-05-17 14:02 . 28189 (172.19.20.233)
root + pts/2 2019-05-17 14:02 00:20 28211 (172.19.20.233)
pts/3 2019-05-17 14:01 27649 id=ts/3 终端=0 退出=0
pts/4 2019-05-17 14:01 27763 id=ts/4 终端=0 退出=0
pts/5 2019-05-16 18:25 25426 id=ts/5 终端=0 退出=0
pts/6 2019-05-16 16:49 25268 id=ts/6 终端=0 退出=0
pts/7 2019-05-16 18:39 25822 id=ts/7 终端=0 退出=0
pts/8 2019-05-16 18:46 25590 id=ts/8 终端=0 退出=0
pts/9 2019-05-16 17:48 25848 id=ts/9 终端=0 退出=0
[root@localhost ~]#