如何查看Linux中登陆的用户/踢出用户

介绍如何查看登陆用户,踢出用户。

查看登陆的用户

who命令

1
2
3
4
5
6
$ who -H
名称 线路 时间 备注
root pts/2 2014-12-04 14:19 (192.168.0.12)
root pts/4 2014-12-04 14:29 (192.168.0.12)
webfront pts/11 2015-09-18 16:41 (192.168.0.51)
webfront pts/13 2015-09-24 10:04 (192.168.0.231)

说明:

  • 第一列是用户名。
  • 第二列是连接的终端,tty表示显示器,pts表示远程连接。
  • 第三列是登陆时间。
  • -H:显示标题栏, -T:显示用户是否愿意接受其他用户信息

查看用户登陆操作行为命令

w命令

1
2
3
4
5
6
7
$ w
19:09:59 up 594 days, 1:15, 4 users, load average: 0.07, 0.04, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 192.168.0.12 04Dec14 145days 0.14s 0.14s -bash
root pts/4 192.168.0.12 04Dec14 17days 2days 4.38s -bash
webfront pts/11 192.168.0.51 18Sep15 6days 0.11s 0.11s -bash
webfront pts/13 192.168.0.231 10:04 0.00s 1.52s 0.00s w

说明:

  • 第一行显示系统的汇总信息,字段分别表示系统当前时间,系统运行时间,当前系统登陆用户总数users,系统平均负载信息LOAD AVERAGE (后面的数字表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻)。
  • 从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。
  • USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。
  • TTY:用户登陆所用的终端,tty表示显示器,pts表示远程连接。
  • FROM:显示用户在何处登陆系统。
  • LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。
  • IDLE:用户空闲时间,从用户上一次任务结束后,开始记时。
  • JCPU:一终端代号来区分,表示在某段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
  • PCPU:指WHAT域的任务执行后耗费的CPU时间。 WHAT:表示当前执行的任务

查看某用户登陆信息

w {用户名}: 当登陆系统用户很多的时候,可以在W后面加上某个用户名,则会查看该用户执行任务的情况

1
2
3
4
5
$ w webfront
19:13:52 up 594 days, 1:19, 4 users, load average: 0.00, 0.01, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
webfront pts/11 192.168.0.51 18Sep15 6days 0.11s 0.11s -bash
webfront pts/13 192.168.0.231 10:04 0.00s 1.52s 0.00s w webfront

查看登陆用户历史

last命令

1
2
3
4
5
6
7
8
$ last -n 5
webfront pts/0 192.168.0.231 Thu Sep 24 10:21 - 10:22 (00:00)
webfront pts/13 192.168.0.231 Thu Sep 24 10:04 still logged in
webfront pts/13 192.168.0.172 Mon Sep 21 19:26 - 13:16 (17:49)
webfront pts/12 192.168.0.231 Mon Sep 21 17:35 - 10:20 (2+16:44)
webfront pts/11 192.168.0.251 Fri Sep 18 16:41 still logged in
wtmp begins Wed Nov 21 09:42:45 2012

也可以查看指定用户登录历史: last {用户名}

1
2
3
4
5
6
$ last webfront -n 5
webfront pts/0 192.168.0.231 Thu Sep 24 10:21 - 10:22 (00:00)
webfront pts/13 192.168.0.231 Thu Sep 24 10:04 still logged in
webfront pts/13 192.168.0.172 Mon Sep 21 19:26 - 13:16 (17:49)
webfront pts/12 192.168.0.231 Mon Sep 21 17:35 - 10:20 (2+16:44)
webfront pts/11 192.168.0.251 Fri Sep 18 16:41 still logged in

踢出用户

使用pkill

  • pkill -u webfront 根据用户踢出所用登陆进程(慎用!!这个用户的所有操作都将立即截止并不保存。)
  • pkill -kill -t pts/0 根据tty踢出用户进程

使用kill

ps aux | grep {tty}, 找到对应shell的pid,然后kill -9 {pid}