系统中有一些重要的痕迹日志文件,如/var/log/wtmp
、/var/run/utmp
、/var/log/btmp
、/var/log/astlog
等日志文件,如果你用vim
打开这些文件,你会发现这些文件是二进制乱码。这是由于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,何时退出了系统,错误登录等重要的系统信息。这些信息要是可以通过vim
打开,就能编辑,这样痕迹信息就不准确,所以这些重要的痕迹日志,只能通过对应的命令来进行查看(不能修改)。
1、w命令
w
命令是显示系统中正在登陆的用户信息的命令,这个命令查看的痕迹日志是/var/run/utmp
。
(1)w
命令的基本信息如下:
- 命令名称:
w
- 英文原意:
Show who is logged on and what they are doing.
- 所在路径:
/usr/bin/w
- 执行权限:所有用户。
- 功能描述:显示灯用户,和他正在做什么。
示例:
(2)显示内容说明
第一行信息内容如下:
-
12:26:46
: 系统当前时间。 -
up 1day,5:47
: 系统的运行时间,本机已经运行1天5小时47分钟。 -
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
:用户正在进行的操作。
2、who命令
who
命令和w
命令类似,用于查看正在登陆的用户,但是显示的内容更加简单。等同于是查看/var/run/utmp
日志文件。
[root@localhost ~]# who
root tty1 2018-11-12 23:59
root pts/2 2018-11-12 23:42(192.168.252.1)
#用户名 #登陆终端 # 登陆时间 #(来源IP)
3、last命令
last
命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。
这个命令查看的是/var/log/wtmp
痕迹日志文件。该命令查看的是一个重要的系统痕迹日志,包括重启时间都会有记录。
如下图所示:
4、lastlog命令
lastlog
命令是查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/Nar/log/lastlog
文件。
如下图所示:
Linux系统自动创建的用户是重要的系统用户,一般也称之为伪用户。
为什么称之为伪用户,因为这些用户是不能用于登陆的。
这些用户也不能删除,这些用户是用来启动Linux系统中对应的服务和程序的。如果把这些用户删除了,与之对应的服务就无法启动,有可能导致无法开机。
如下图所示:
5、lastb命令
lastb
命令是查看错误登陆的信息的(如密码输入错误没有登陆成功等),查看的是/var/log/btmp
痕迹日志。
如下图所示: