
系统痕迹命令
系统痕迹命令
系统中有一些重要的痕迹日志文件,如/var/log/wtmp 、/var/run/utmp 、/var/log/btmp 、/var/log/lastlog 等日志文件,如果你用 vim 打开这些文件,你会发现这些文件是二进制乱码。这是由于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,何时退出了系统,错误登录等重要的系统信息。这些信息要是可以通过 vim 打开,就能编辑,这样痕迹信息就不准确,所以这些重要的痕迹日志,只能通过对应的命令来进行查看。
1.w命令
w 命令是显示系统中正在登陆的用户信息的命令,这个命令查看的痕迹日志是/var/run/utmp。这个命令的基本信息如下:
— 命令名称:w
— 英文原意:Show who is logged on and what they are doing.
— 所在路径:/usr/bin/w
— 执行权限:所有用户。
— 功能描述:显示灯用户,和他正在做什么。例如:
[root@localhost ~]# w
15:22:02 up 26 min, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.1.1 14:56 2.00s 0.35s 0.01s w
上面w的描述信息如下
第一行显示系统的汇总信息,字段分别表示系统当前时间、系统运行时间、登陆哟内用户总数及系统平均负载信息。对于上述势力中的几个显示数据意义为:
15:22:02 表示执行W的时间是在下午15点22分。
26min 表示系统运行26分钟
1 USERS 表示当前系统登陆用户总数为1。
LOAD AVERAGE 与后面的数字一起表示系统在过去1,5,10分钟内的负载程度,数值越小,系统负载越轻。
从第二行开始构成一个表格,共有8个栏目,分别显示各个用户正在做的事情及该用户所占用的系统资料。
USER:显示登陆用户帐号名。用户重复登陆,该帐号也会重复出现。
TTY:用户登陆所用的终端。
FROM:显示用户在何处登陆系统。
LOGIN@:是LOGIN AT的意思,表示登陆进入系统的时间。
IDLE:用户空闲时间,从用户上一次任务结束后,开会记时。
JCPU:一终端代号来区分,表示在摸段时间内,所有与该终端相关的进程任务所耗费的CPU时间。
PCPU:指WHAT域的任务执行后耗费的CPU时间。
WHAT:表示当前执行的任务。
系统在之前 1 分钟、5 分钟、15 分钟的平均负载。如果 CPU 是单核的,则这个数值超过 1 就是高负载;如果 CPU 是四核的,则这个数值超过 4 就是高负载
load average: 0.00, 0.00, 0.00
(这个平均负载完全是依据个人经验来进行判断的,一般认为不应该超过服务器 CPU 的核数)
2.who 命令
who 命令和 w 命令类似,用于查看正在登陆的用户,但是显示的内容更加简单,也是查看 /var/run/utmp 日志。
[root@localhost ~]# who
root | tty1 | 2022-04-12 23:59 |
---|---|---|
root | pts/1 | 2022-04-12 23:59 (192.168.252.1) |
#用户名 | 登陆终端 | 登陆时间(来源 IP) |
3.last 命令
last 命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。这个命令查看的是/var/log/wtmp 痕迹日志文件。
[root@localhost ~]# last
root pts/0 192.168.1.1 Fri May 20 14:56 still logged in
reboot system boot 3.10.0-1160.el7. Fri May 20 14:55 - 15:26 (00:30)
root pts/2 192.168.1.1 Fri May 20 12:24 - down (02:30)
root pts/0 192.168.1.1 Thu May 19 17:31 - 14:21 (20:50)
root pts/1 192.168.1.1 Thu May 19 14:31 - 14:21 (23:50)
root tty1 Thu May 19 14:30 - 14:55 (1+00:24)
root pts/1 192.168.1.1 Sat May 14 14:20 - 15:50 (01:30)
root pts/0 192.168.1.1 Wed May 11 11:48 - 14:31 (8+02:43)
reboot system boot 3.10.0-1160.el7. Wed May 11 11:36 - 14:55 (9+03:18)
root pts/0 192.168.1.1 Wed May 11 11:35 - crash (00:01)
root tty1 Wed May 11 11:32 - 11:36 (00:04)
root tty1 Mon May 9 13:33 - 13:34 (00:00)
reboot system boot 3.10.0-1160.el7. Mon May 9 13:31 - 14:55 (11+01:24)
wtmp begins Mon May 9 13:31:32 2022
第一列信息:用户名,或者显示reboot(启动或者重启操作在这里会记录成reboot)
第二列信息:终端位置,pts/0 (伪终端或虚拟终端) 意味着从诸如SSH或telnet的远程连接的用户。
tty (teletypewriter) 意味着直接连接到计算机或者本地连接的用户,如果是启动或者重启操作,这里会显示成system boot
第三列信息:登录ip或者内核,如果你看见:0.0 或者什么都没有,这意味着用户通过本地终端连接。
也有在状态中显示内核版本的信息,笔者猜测这些记录应该是属于系统的操作,如开机,关机,重启等操作
第四列信息:开始时间,其中的日期格式为date +"%a %b %d"
第五列信息:结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
第六列信息:持续时间
4.lastlog命令
lastlog 命令是查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/var/log/lastlog文件。
[root@localhost ~]# lastlog | |||
---|---|---|---|
Username | Port | From | Latest |
root | tty1 | Mon Nov 12 23:59:03 +0800 2018 | |
bin | Never logged in | ||
daemon | Never logged in | ||
adm | Never logged in | ||
lp | Never logged in | ||
sync | Never logged in | ||
…省略部分内容… | |||
#用户名 | 终端 | 来源 IP | 登陆时间 |
5.lastb命令
lastb 命令是查看错误登陆的信息的,查看的是/var/log/btmp 痕迹日志:
[root@localhost ~]# lastb | |||
---|---|---|---|
(unknown tty1 | Mon Nov 12 23:58 - 23:58 | (00:00) | |
roottty1 | Mon Nov 12 23:58 - 23:58 | (00:00) | |
#错误登陆用户 | 终端 | 尝试登陆的时间 |
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 梦缘羲
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果