查看谁登录过我的linux机器

发布时间:2020-11-04编辑:脚本学堂
本文介绍下,查看下谁登录过我的linux机器的方法,有需要的朋友参考下吧。

用如下的命令:
 

last
登陆过的账号和时间

lastb
登陆失败的账号和时间

last会读取/var/log/wtmp中的信息,并转化为可读的文字文件。

1,查看用户的操作
只需要输入命令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,命令信息含义

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

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:表示当前执行的任务。

3,查看某用户
在W后面加上某个用户名,则会查看该用户执行任务的情况。
 

复制代码 代码示例:
〔root@localost root〕#w heiio
2: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

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

4,查看登录用户
若想知道某一时刻登录的用户,可以使用系统提供的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给用户发从信息。

5,查看登录用户历史
若想知道系统中用户登录的历史行为,还可以察看用户曾经登录到系统。
使用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文件是以二进制格式进行存储的,不能直接使用文本编辑器查看,否则只会看一堆编码后的东西,根本看不懂的。