系统中有一些重要的痕迹日志文件,如/var/log/wtmp
、/var/run/utmp
、/var/log/btmp
、
/var/log/astlog
等日志文件,如果你用vim
打开这些文件,你会发现这些文件是二进制乱码。这是由于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,何时退出了系统,错误登录等重要的系统信息。这些信息要是可以通过vim
打开,就能编辑,这样痕迹信息就不准确,所以这些重要的痕迹日志,只能通过对应的命令来进行查看(不能修改)。
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
:用户正在进行的操作。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)
last
命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。
这个命令查看的是/var/log/wtmp
痕迹日志文件。该命令查看的是一个重要的系统痕迹日志,包括重启时间都会有记录。
如下图所示:
lastlog
命令是查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/Nar/log/lastlog
文件。
如下图所示:
Linux系统自动创建的用户是重要的系统用户,一般也称之为伪用户。
为什么称之为伪用户,因为这些用户是不能用于登陆的。
这些用户也不能删除,这些用户是用来启动Linux系统中对应的服务和程序的。如果把这些用户删除了,与之对应的服务就无法启动,有可能导致无法开机。
如下图所示:
lastb
命令是查看错误登陆的信息的(如密码输入错误没有登陆成功等),查看的是/var/log/btmp
痕迹日志。
如下图所示: