Pages

Monday, 22 February 2016

Linux vps系统下如何查看已经登录的用户

whois 
功能说明:查找并显示用户信息。 
语  法:whois [帐号名称] 
补充说明:whois指令会去查找并显示指定帐号的用户相关信息,因为它是到Network Solutions 的WHOIS数据库去查找,所以该帐号名称必须在上面注册方能寻获,且名称没有大小写的差别。 
--------------------------------------------------------- 
whoami 

功能说明:先似乎用户名称。 
语  法:whoami [--help][--version] 
补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。 
参  数: 
--help  在线帮助。 
--version  显示版本信息。 
--------------------------------------------------- 

who 

功能说明:显示目前登入系统的用户信息。 
语  法:who [-Himqsw][--help][--version][am i][记录文件] 
补充说明:执行这项指令可得知目前有那些用户登入系统,单独执行who指令会列出登入帐号,使用的    终端机,登入时间以及从何处登入或正在使用哪个X显示器。 
参  数: 
-H或--heading  显示各栏位的标题信息列。 
-i或-u或--idle  显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串。 
-m  此参数的效果和指定"am i"字符串相同。 
-q或--count  只显示登入系统的帐号名称和总人数。 
-s  此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。 
-w或-T或--mesg或--message或--writable  显示用户的信息状态栏。 
--help  在线帮助。 
--version  显示版本信息。 

---------------------------------------------------- 
w 

功能说明:显示目前登入系统的用户信息。 
语  法:w [-fhlsuV][用户名称] 
补充说明:执行这项指令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w 
指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。 
参  数: 
-f  开启或关闭显示用户从何处登入系统。 
-h  不显示各栏位的标题信息列。 
-l  使用详细格式列表,此为预设值。 
-s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。 
-u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。 
-V  显示版本信息。 
-----------------------------------------------------
finger命令

finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。

该命令的一般格式为:
finger [选项] [使用者] [用户@主机]
命令中各选项的含义如下:
-s 显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
-l 除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
-p 除了不显示.plan文件和.project文件以外,与-l选项相同。 
[例]在本地机上使用finger命令。
$ finger xxq
Login: xxq Name: 
Directory: /home/xxq Shell: /bin/bash
Last login Thu Jan 1 21:43 (CST) on tty1
No mail.
No Plan. 
$ finger
Login Name Tty Idle Login Time Office Office Phone
root root *1 28 Nov 25 09:17
……
---------------------
LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务。系统管理员可以随时了解系统中有那些用户,用户都在进行什么操作。
查看用户的操作
系统管理员若想知道某一时刻用户的行为,只需要输入命令W 即可,在SHELL终端中输入如下命令:

[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后面加上某个用户名,则会查看该用户执行任务的情况。

〔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命令,该命令可以查看当前登陆到系统的用户及其他信息:

[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命令可以查询曾经登陆用户的信息:

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命令后加上用户名,则系统只会显示该用户登陆系统情况。

[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文件是以二进制格式进行存储的,如
果直接使用文本编辑器查看,查看的会是一堆乱码.