Linux系统下查看已经登录用户并踢出的方法

时间:2023-03-09 13:35:01
Linux系统下查看已经登录用户并踢出的方法

LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。

查看用户的操作

查看当前用户:

[ROOT@LOCALHOST ROOT] # W
                        2:31PM UP 11 DAY ,21:18 4 USERS, LODE AVERAGE : 0.12, 0.09 , 0.08
                        USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
                        ROOT TTY1 - 09:21AM 3:23 0.13S 0.08S -BASH
                        GEORGE TTY2 - 09:40AM 18:00S 0.12S 0.00S TELNET
                        HELLO TTY6 - 11:12AM 34.00S 0.06S 0.O6S BASH
                        MARRY PTS/1 192.0.3.1102:40PM 5.20S 0.09S 0.03S FTP

命令信息含义

上述显示的信息分别表示如下:

第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆用户总数及系统平均负载信息。对于上述中的几个显示数据意义为:

2:13PM   表示执行W的时间是在下午2点31分。

11DAYS,21:18 表示系统运行11天零21小时18分。

4 USERS 表示当前系统登陆用户总数为4。

LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。

从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资源。

USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。

TTY:用户登陆所用的终端。

FROM:显示用户在何处登陆系统。

LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。

IDLE:用户空闲时间,从用户上一次任务结束后,到现在持续的时间。

JCPU:一终端代号来区分,表示在这段时间内,所有与该终端相关的进程任务所耗费的CPU时间。

PCPU:指WHAT域的任务执行后耗费的CPU时间。

WHAT:表示当前执行的任务。

查看某用户

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

root@begin:/# w  joe

14:20:53 up 13:52,  4 users,  load average: 0.23, 0.17, 0.14
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
joe      pts/0    www.lan          14:20   10.00s  0.12s  0.12s -bash

默认情况下,系统会显示上述所有的信息,如果只关心某一方面,可以只使用相关的选项。

查看登陆用户

同样,系统管理员若想知道某一时刻登陆的用户,可以使用系统提供的WEB命令,该命令可以查看当前登陆到系统的用户及其他信息:

[ROOT@LOCAL ROOT]#who
root tty1 - 09:21am
reorge tty2 - 09:40am
hello tty6 - 11:12am
marry pts/1 :0 02:40pm

可以看出上述信息与W命令非常相似。如果想让列表更详细一些,可以加上选项-HIT等,就可以得到该用户是否愿意接受其他用户信息(-T)还可以显示空闲时间(-I)及标题栏(-H)。如果某各用户愿意接受信息,会在MESG栏中显示一个“+”,这是还可以使用命令MESG给用户发从信息。

使用who am i 看那个是自己的登录终端

[root@Centos ~]# who am i

root    pts/1        2009-08-02 03:06 (192.168.0.31)

查看登陆用户历史

系统管理员若想知道系统中用户登陆的历史行为,还可以察看用户曾经登陆到系统。使用LAST命令可以查询曾经登陆用户的信息:

joe@begin:~$ last
joe       pts/0        www.lan          Thu Sep 10 14:20   still logged in
root     pts/4        www.lan          Thu Sep 10 11:04   still logged in
root     pts/3        www.lan          Thu Sep 10 10:26 - 13:14  (02:48)
root     pts/0        www.lan          Thu Sep 10 10:15 - 12:36  (02:20)
root     pts/6        www.lan          Thu Aug 20 10:09 - 14:21  (04:11)
root     pts/5        www.lan          Thu Aug 20 09:59 - 14:11  (04:12)
root     pts/4        www.lan          Wed Aug 19 17:18 - 12:01  (18:43)
root     pts/3        www.lan          Wed Aug 19 17:18 - 12:08  (18:50)
root     pts/2        192.168.35.111   Wed Aug 19 14:57 - 11:41  (20:44)
root     pts/1        :0               Wed Aug 19 14:54   still logged in
root     pts/0        :0               Wed Aug 19 14:02 - 17:18 (1+03:16)

想查看那某个用户的登陆情况,也可以在LAST命令后加上用户名,则系统只会显示该用户登陆系统情况。

joe@begin:~$ last joe

joe      pts/0        www.lan          Thu Sep 10 14:20   still logged in

wtmp begins Tue Aug 18 15:32:04 2015

执行last命令其实是显示/var/log/目录下的wtmp文件内容。

Linux踢出已登录用户的方法

root@begin:~# pkill -kill -t pts/0

如果最后查看还是没有干掉,建议加上-9 强制杀死。

[root@apache ~]# pkill -9 -t pts/1

上述转自:http://tech.ccidnet.com/art/302/20061121/956303_1.html