Linux之系统痕迹命令

系 统 中 有 一 些 重 要 的 痕 迹 日 志 文 件 , 如 /var/log/wtmp /var/run/utmp /var/log/btmp
/var/log/lastlog 等日志文件,如果你用 vim 打开这些文件,你会发现这些文件是二进制乱码。这是由
于这些日志中保存的是系统的重要登录痕迹,包括某个用户何时登录了系统,何时退出了系统,错误
登录等重要的系统信息。这些信息要是可以通过 vim 打开,就能编辑,这样痕迹信息就不准确,所以
这些重要的痕迹日志,只能通过对应的命令来进行查看。

W命令

Linux w命令用于显示目前登入系统的用户信息。

执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。

单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

语法

w [-fhlsuV][用户名称]

参数说明

  • -f  开启或关闭显示用户从何处登入系统。
  • -h  不显示各栏位的标题信息列。
  • -l  使用详细格式列表,此为预设值。
  • -s  使用简洁格式列表,不显示用户登入时间,终端机阶段作业和程序所耗费的CPU时间。
  • -u  忽略执行程序的名称,以及该程序耗费CPU时间的信息。
  • -V  显示版本信息
[ ~]# w
 16:10:50 up 1 day, 21:05,  4 users,  load average: 0.11, 0.07, 0.06
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    36.5.245.99      10:51   20:18   0.04s  0.04s -bash
root     pts/1    36.5.245.99      15:50   20:15   0.00s  0.00s -bash
root     pts/2    183.160.53.162   15:53    2.00s  0.00s  0.00s w
root     pts/3    183.160.53.162   15:53    8:18   0.00s  0.00s -bash
[root@iZbp145axkc98giot5b448Z ~]#

 who命令

who 命令和 w 命令类似,用于查看正在登陆的用户,但是显示的内容更加简单,也是查看/var/run/utmp 日志。 

语法

who - [husfV] [user]

参数说明

  • -H 或 --heading:显示各栏位的标题信息列;
  • -i 或 -u 或 --idle:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成"."号,如果该用户已超过24小时没有任何动作,则标示出"old"字符串;
  • -m:此参数的效果和指定"am i"字符串相同;
  • -q 或--count:只显示登入系统的帐号名称和总人数;
  • -s:此参数将忽略不予处理,仅负责解决who指令其他版本的兼容性问题;
  • -w 或-T或--mesg或--message或--writable:显示用户的信息状态栏;
  • --help:在线帮助;
  • --version:显示版本信息。
[ ~]# who
root     pts/0        2020-02-19 10:51 (36.5.245.99)
root     pts/1        2020-02-19 15:50 (36.5.245.99)
root     pts/2        2020-02-19 15:53 (183.160.53.162)
root     pts/3        2020-02-19 15:53 (183.160.53.162)
[root@iZbp145axkc98giot5b448Z ~]#

last命令

last 命令是查看系统所有登陆过的用户信息的,包括正在登陆的用户和之前登陆的用户。这个命令查看的是/var/log/wtmp 痕迹日志文件。 

语法

shell>> last [options]

参数说明

  • -R 省略 hostname 的栏位
  • -num 展示前 num 个
  • username 展示 username 的登入讯息
  • tty 限制登入讯息包含终端机代号

实例

[ ~]# last
root     pts/3        183.160.53.162   Wed Feb 19 15:53   still logged in
root     pts/2        183.160.53.162   Wed Feb 19 15:53   still logged in
root     pts/1        36.5.245.99      Wed Feb 19 15:50   still logged in
root     pts/0        36.5.245.99      Wed Feb 19 10:51   still logged in
root     pts/1        36.5.245.99      Tue Feb 18 22:57 - 23:25  (00:28)
root     pts/0        36.5.245.99      Tue Feb 18 16:58 - 23:25  (06:27)
root     pts/1        58.243.250.92    Mon Feb 17 21:12 - 04:37  (07:24)
root     pts/0        36.5.245.99      Mon Feb 17 19:12 - 21:27  (02:15)
root     pts/0        36.5.245.99      Mon Feb 17 19:11 - 19:12  (00:00)
root     pts/0        36.5.245.99      Mon Feb 17 19:06 - 19:11  (00:05)
reboot   system boot  3.10.0-957.21.3. Tue Feb 18 03:05 - 15:57 (1+12:52)

wtmp begins Thu Jul 11 11:10:20 2019

lastlog 命令
lastlog 命令是查看系统中所有用户最后一次的登陆时间的命令,他查看的日志是/var/log/lastlog
文件。

[ ~]# lastlog
Username         Port     From             Latest
root             pts/3    183.160.53.162   Wed Feb 19 15:53:06 +0800 2020
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
shutdown                                   **Never logged in**
halt                                       **Never logged in**
mail                                       **Never logged in**
operator                                   **Never logged in**
games                                      **Never logged in**
ftp                                        **Never logged in**
nobody                                     **Never logged in**
systemd-network                            **Never logged in**
dbus                                       **Never logged in**
polkitd                                    **Never logged in**
sshd                                       **Never logged in**
postfix                                    **Never logged in**
chrony                                     **Never logged in**
ntp                                        **Never logged in**
tcpdump                                    **Never logged in**
nscd                                       **Never logged in**
mysql                                      **Never logged in**
wgr              pts/1                     Tue Feb 18 22:57:18 +0800 2020

lastb 命令
lastb 命令是查看错误登陆的信息的,查看的是/var/log/btmp 痕迹日志:

[ ~]# lastb
         ssh:notty    139.162.122.110  Wed Feb 19 02:28 - 02:28  (00:00)
admin    ssh:notty    45.190.220.53    Tue Feb 18 11:22 - 11:22  (00:00)
admin    ssh:notty    45.190.220.53    Tue Feb 18 11:22 - 11:22  (00:00)
admin    ssh:notty    45.190.220.53    Tue Feb 18 11:22 - 11:22  (00:00)
admin    ssh:notty    45.190.220.53    Tue Feb 18 11:22 - 11:22  (00:00)

btmp begins Tue Feb 18 11:22:48 2020
[root@iZbp145axkc98giot5b448Z ~]#

相关推荐