# 命令--14.痕迹
系统中有一些重要的痕迹日志文件,如/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@xiaoshaozi ~]# w
10:46:00 up 37 days, 1:24, 2 users, load average: 0.00, 0.01, 0.05
#系统时间 持续开机时间 登陆用户 系统在1分钟,5分钟,15分钟前的平均负载
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 220.180.63.118 10:45 0.00s 0.00s 0.00s w
root pts/1 220.180.63.118 10:45 0.00s 0.00s 0.00s top
第一行信息,内容如下:
内容 | 说明 |
---|---|
10:46:00 | 系统时间 |
up 37 days, 1:24 | 持续开机时间 |
2 users | 当前登录了两个用户 |
load average: 0.00, 0.01, 0.05 | 系统在之前1分钟、5分钟、15分钟的平均负载。 如果CPU是单核的,则这个数值超过1就是高负载; 如果CPU是四核的,则这个数值超过4就是高负载 (这个平均负载完全是依据个人经验来进行判断的,一般认为不应该超过服务器CPU的核数) |
第二行信息,内容如下:
内容 | 说明 |
---|---|
USER | 当前登陆的用户 |
TTY | 登陆的终端: tty1-6:本地字符终端(alt+F1-6切换) tty7:本地图形终端(ctrl+alt+F7切换,必须安装启动图形界面) pts/0-255:远程终端 |
FROM | 登陆的IP地址,如果是本地终端,则是空 |
LOGIN@ | 登陆时间 |
IDLE | 用户闲置时间 |
JCPU | 所有的进程占用的CPU时间 |
PCPU | 当前进程占用的CPU时间 |
WHAT | 用户正在进行的操作 |
# who命令
who命令和w命令类似,用于查看正在登陆的用户,但是显示的内容更加简单,也是查看/var/run/utmp日志。
[root@xiaoshaozi ~]# who
root pts/0 2023-12-20 10:45 (220.180.63.118)
root pts/1 2023-12-20 10:45 (220.180.63.118)
#用户名 登陆终端 登陆时间(来源IP)
# last命令
last命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。这个命令查看的是/var/log/wtmp痕迹日志文件。
[root@xiaoshaozi ~]# last
root pts/1 220.180.63.118 Wed Dec 20 10:45 still logged in
root pts/0 220.180.63.118 Wed Dec 20 10:45 still logged in
root pts/1 220.180.63.118 Tue Dec 19 17:39 - 19:40 (02:01)
root pts/0 220.180.63.118 Tue Dec 19 17:39 - 19:40 (02:01)
root pts/1 220.180.63.118 Tue Dec 19 17:38 - 17:39 (00:01)
root pts/0 220.180.63.118 Tue Dec 19 17:38 - 17:39 (00:01)
root pts/1 220.180.63.118 Tue Dec 19 17:18 - 17:38 (00:19)
root pts/0 220.180.63.118 Tue Dec 19 17:18 - 17:38 (00:19)
#用户名 终端号 来源IP地址 登陆时间 - 退出时间
reboot system boot 3.10.0-957.21.3. Wed Oct 21 21:19 - 09:19 (1117+12:00)
#系统重启信息记录
# lastlog命令
lastlog命令是查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/var/log/lastlog文件。
[root@xiaoshaozi ~]# lastlog
用户名 端口 来自 最后登陆时间
root pts/1 220.180.63.118 三 12月 20 10:45:58 +0800 2023
bin **从未登录过**
daemon **从未登录过**
adm **从未登录过**
lp **从未登录过**
sync **从未登录过**
shutdown **从未登录过**
zs pts/3 36.5.59.80 日 12月 17 22:19:52 +0800 2023
mysql **从未登录过**
nginx **从未登录过**
rabbitmq **从未登录过**
redis **从未登录过**
influxdb **从未登录过**
tss **从未登录过**
apache **从未登录过**
xiaoshaozi pts/0 四 11月 30 08:51:50 +0800 2023
rpc **从未登录过**
rpcuser **从未登录过**
nfsnobody **从未登录过**
# lastb命令
lastb命令是查看错误登陆的信息的,查看的是/var/log/btmp痕迹日志:
[root@xiaoshaozi ~]# lastb
root ssh:notty 192.168.1.102 Wed Dec 20 11:17 - 11:17 (00:00)
root ssh:notty 192.168.1.102 Wed Dec 20 11:17 - 11:17 (00:00)
root pts/0 Wed Dec 20 11:13 - 11:13 (00:00)
btmp begins Mon Dec 4 19:27:12 2023
#错误登陆用户 终端 登录ip 尝试登陆的时间