Linux last命令详解
在Linux系统中,我们经常需要追踪用户登录和登出的记录,以便对系统的安全性进行监控和管理。在这样的场景下,last
命令是一个非常有用的工具。本文将详细介绍last
命令的使用方法和相关参数,以帮助读者更好地了解和运用该命令。
1. last
命令概述
last
命令用于显示用户登录和登出的记录,它读取系统的登录记录文件/var/log/wtmp
或者/var/log/btmp
(失败登录记录)。
具体地说,last
命令可以用来查看以下信息:
- 用户登录系统的时间
- 用户登录系统的IP地址
- 用户登出系统的时间
- 用户登录和登出的持续时间
- 用户登录系统的终端设备
需要注意的是,last
命令只能查询已经登录和登出的记录,无法实时监控用户的登录行为。
2. last
命令语法
last
命令的基本语法如下:
last [选项] [用户名]
其中,选项
用于指定命令的一些参数,用户名
用于过滤指定用户名的登录记录。如果不指定用户名,则显示所有用户的登录记录。
3. last
命令常用选项
last
命令支持多种选项,常用的选项如下:
-f <文件>
:指定要读取的登录记录文件,默认为/var/log/wtmp
。-n <行数>
:仅显示指定行数的记录。-t <日期>
:仅显示指定日期之后的记录。-s <日期>
:仅显示指定日期之前的记录。-w
:显示用户登录和登出的持续时间。-x
:显示用户登录和登出的终端设备。-i
:显示用户登录使用的IP地址和主机名。-r
:显示系统的关机和重新启动记录。
下面,我们分别介绍这些选项的使用方法。
3.1 -f
选项
-f
选项用于指定要读取的登录记录文件,默认为/var/log/wtmp
。如果需要查看失败登录的记录,可以使用/var/log/btmp
文件。
示例:
last -f /var/log/btmp
3.2 -n
选项
-n
选项用于仅显示指定行数的记录,默认为显示所有记录。
示例:
last -n 10
3.3 -t
选项
-t
选项用于仅显示指定日期之后的记录,日期的格式可以是YYYYMMDD或者YYMMDD。
示例:
last -t 20220101
3.4 -s
选项
-s
选项用于仅显示指定日期之前的记录,日期的格式同样可以是YYYYMMDD或者YYMMDD。
示例:
last -s 20220101
3.5 -w
选项
-w
选项用于显示用户登录和登出的持续时间。
示例:
last -w
3.6 -x
选项
-x
选项用于显示用户登录和登出的终端设备。
示例:
last -x
3.7 -i
选项
-i
选项用于显示用户登录使用的IP地址和主机名。
示例:
last -i
3.8 -r
选项
-r
选项用于显示系统的关机和重新启动记录。
示例:
last -r
4. last
命令实例
下面通过一些实例来演示last
命令的使用方法和输出。
4.1 查看所有登录记录
last
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
user pts/1 192.168.1.11 Sun Feb 19 08:45 - 12:22 (03:37)
root pts/0 192.168.1.10 Sat Feb 18 22:51 - 09:14 (10:22)
user tty1 Sat Feb 18 22:47 - 11:32 (12:45)
reboot system boot 4.10.0-28-generic Sat Feb 18 22:46 - 11:32 (12:45)
...
以上结果显示了用户的登录和登出时间、IP地址、终端设备等信息。still logged in
表示该用户仍然处于登录状态。
4.2 指定用户名查看登录记录
last user
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
user pts/1 192.168.1.11 Sun Feb 19 08:45 - 12:22 (03:37)
user tty1 Sat Feb 18 22:47 - 11:32 (12:45)
...
以上结果只显示用户名为user
的登录记录。
4.3 仅显示指定行数的记录
last -n 3
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
user pts/1 192.168.1.11 Sun Feb 19 08:45 - 12:22 (03:37)
以上结果仅显示最近的3条登录记录。
4.4 仅显示指定日期之后的记录
last -t 20220210
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
以上结果仅显示日期在2022年2月10日之后的登录记录。
4.5 显示用户登录和登出的持续时间
last -w
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
user pts/1 192.168.1.11 Sun Feb 19 08:45 - 12:22 (03:37)
user tty1 Sat Feb 18 22:47 - 11:32 (12:45)
reboot system boot 4.10.0-28-generic Sat Feb 18 22:46 - 11:32 (12:45)
...
以上结果显示了用户登录和登出的持续时间。
4.6 显示用户登录和登出的终端设备
last -x
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
user pts/1 192.168.1.11 Sun Feb 19 08:45 - 12:22 (03:37)
user tty1 Sat Feb 18 22:47 - 11:32 (12:45)
...
以上结果显示了用户登录和登出的终端设备。
4.7 显示用户登录使用的IP地址和主机名
last -i
输出:
user pts/0 192.168.1.10 Mon Feb 21 10:23 still logged in
user pts/0 192.168.1.10 Mon Feb 20 16:05 - 18:12 (02:07)
user pts/1 192.168.1.11 Sun Feb 19 08:45 - 12:22 (03:37)
...
以上结果显示了用户登录使用的IP地址和主机名。
4.8 显示系统的关机和重新启动记录
last -r
输出:
reboot system boot 4.10.0-28-generic Sat Feb 18 22:46 - 11:32 (12:45)
reboot system boot 4.10.0-28-generic Sat Feb 18 15:14 - 22:32 (07:17)
...
以上结果显示了系统的关机和重新启动记录。
5. 总结
本文详细介绍了Linux中的last
命令的使用方法和常用选项。通过使用last
命令,我们可以方便地查看用户的登录和登出记录,包括登录的时间、IP地址、终端设备、持续时间等信息。这对于系统的安全管理和用户活动追踪非常有用。