LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。
查看用户的操作
系统管理员若想知道某一时刻用户的行为,只需要输入命令W 即可,在SHELL终端中输入如下命令:
1
2
3
4
5
6
7
|
[
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
|
可以看到执行W命令及显示结果。
命令信息含义
上述显示的信息分别表示如下:
第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆哟内用户总数及系统平均负载信息。对于上述势力中的几个显示数据意义为:
2:13PM 表示执行W的时间是在下午2点31分。
11DAYS,81: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后面加上某个用户名,则会查看该用户执行任务的情况。
1
2
3
4
|
〔
root
@
localost
root〕
#w heiio2:31pm up 11 days,21:18
4
users
,
load
average
:
0.00
,
0.00
,
0.00
USER
TTY
FROM
LOGIN
@
IDLE
JCPU
PCPU
WHAT
Hello
tty6
11
:
12am
34.00s
0.06s
0.06s
bash
|
默认情况下,系统会显示上述所有的信息,如果只关心某一方面,可以只使用相关的选项。
查看登陆用户
同样,系统管理员若想知道某一时刻登陆的用户,可以使用系统提供的WEB命令,该命令可以查看当前登陆到系统的用户及其他信息:
1
2
3
4
5
|
[
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给用户发从信息。
查看登陆用户历史
系统管理员若想知道系统中用户登陆的历史行为,还可以察看用户曾经登陆到系统。使用LAST命令可以查询曾经登陆用户的信息:
1
2
3
4
5
6
|
ROOT
TTY1
09:
21AM
MON
FRI
10
11:
15
STILL
LOGGED
IN
GEORGE
TYY2
09:
40AM
MON
FRI
11
11:
18
-
DOWN
HELLO
TTY6
11:
12AM
MON
FRI
12
9:
47
-
DOWN
MARRY
PTS
/
1
192.0.3.11
02:
40PM
FRI
17
12:
56
-
DOWN
……
WTMP
BEGINS
FRI
DEC
5
12:
53:
55
2003
|
使用LAST 命令时,列出的文件内容会非常多,根本看不清楚。此时可以使用前面介绍的管理方式来观看,例如/LAST/ LESS,则可以查看前后内容。同查看用户情况一样,想查看那某个用户的登陆情况,也可以在LAST命令后加上用户名,则系统只会显示该用户登陆系统情况。
1
2
3
4
|
[
root
@
localhost
root
]
# last george
george
tty2
-
09
:
40am
mon
fri
11
11.18
-
down
…………
.
Wtem
begins
fri
dec
5
12
:
53
;
55
2003
|
执行last命令其实是显示/var/log/目录下的wtmp文件内容。Wtmp文件是以二进制格式进行存储的,如
果直接使用文本编辑器查看,查看的会是一堆乱码。
注:Linux踢出已登录用户的方法:
1
|
# pkill -KILL -t pts/0
|
(pts/0为w指令看到的用户终端号)