2.2.3 检查用户信息

1.查看用户:users、who、w 使用命令users可以查看当前系统有哪些用户。比如,在当前的系统中运行users命令,就会发现有两个root在当前机器上登录。实际上,Linux会把所有来自不同终端的活动定义为一个会话,从who命令的输出,可以看出root用户是通过不同的终端登录到系统中的。users命令相对比较简单,所以列出的信息也比较少,可以使用命令who来看到更多信息,如下所示:


  1. [root@localhost ]# users
  2. root root
  3. [root@localhost ]# who
  4. root tty1 2012-11-01 23:00
  5. root pts/0 2012-11-01 22:56 (192.168.179.1)

命令显示的结果有3列,第一列是登录用户的用户名,第二列是用户登录的终端,第三列是用户登录的时间。如果是通过远程网络登录,则同时会显示远程主机的主机名或IP地址。还可以使用命令w看到更详细的信息,如下所示:


  1. [root@localhost ~]# w
  2. 23:21:30 up 27 min, 2 users, load average: 0.00, 0.00, 0.00
  3. USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
  4. root tty1 - 23:00 7.00s 0.02s 0.02s -bash
  5. root pts/0 192.168.179.1 22:56 0.00s 0.03s 0.00s w

w命令的第一行会显示当前时间、系统运行时间、已登录的用户数量和系统负载。下面显示的信息分为8列,每一列解释如下。

第一列:登录用户的用户名。

第二列:用户登录终端。

第三列:如果用户从网络登录,则显示远程主机的主机名或IP地址。

第四列:用户登录时间。

第五列:用户闲置时间。

第六列:与终端相关的当前所有运行进程消耗的CPU时间总量。

第七列:当前WHAT列所对应的进程所消耗的CPU时间总量。

第八列:用户当前运行的进程。

2.调查用户:finger

finger命令在不加任何参数的情况下,同样会显示系统的登录用户,如下所示:


  1. [root@localhost ~]# finger
  2. Login Name Tty Idle Login Time Office Office Phone
  3. root root tty1 22 Nov 1 23:00
  4. root root pts/0 Nov 1 22:56 (192.168.179.1)

如果在finger后跟上某个用户名,则显示该用户更详细的信息,如下所示:


  1. [root@localhost ~]# finger user1
  2. Login: user1 Name: (null)
  3. Directory: homeuser1 Shell: binbash
  4. Never logged in. #
  5. 显示用户最近一次登录到系统中的时间
  6. No mail. #
  7. 显示邮件信息
  8. No Plan. #
  9. 显示计划信息