系统中有一些重要的痕迹日志文件,如/var/log/wtmp、/var/run/utmp、/var/log/btmp、 /var/log/astlog等日志文件,如果你用vim打开这些文件,你会发现这些文件是二进制乱码。这是由于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,何时退出了系统,错误登录等重要的系统信息。这些信息要是可以通过vim打开,就能编辑,这样痕迹信息就不准确,所以这些重要的痕迹日志,只能通过对应的命令来进行查看(不能修改)。
w命令是显示系统中正在登陆的用户信息的命令,这个命令查看的痕迹日志是/var/run/utmp。
例如:
内容如下:
12:26:46 : 系统当前时间。up 1day,13:32 : 系统的运行时间,本机已经运行1天13小时32分钟。2 users : 当前登录了两个用户。load average:0.00,0.00,0.00 : 系统在之前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痕迹日志: