速览体育网

Good Luck To You!

linux last命令如何查看用户登录历史记录?

Linux 系统管理员和开发者经常需要追踪用户活动、系统登录历史以及服务器重启记录,以便进行故障排查、安全审计或性能分析,在众多命令中,last 命令是一个简单而强大的工具,它能够从 /var/log/wtmp 文件中读取信息,并显示用户登录、注销的历史记录,本文将详细介绍 last 命令的基本用法、常用选项、输出解析以及实际应用场景,帮助用户充分利用这一工具管理 Linux 系统。

linux last命令如何查看用户登录历史记录?

last 命令的基本用法

last 命令的基本语法非常简单,直接在终端输入 last 即可执行,默认情况下,该命令会显示所有用户的登录记录,包括登录终端、来源 IP 地址、登录时间和持续时间等信息。

last

执行后,终端会显示类似以下格式的输出:

root     pts/0        192.168.1.100   Tue Nov 12 09:15   still logged in
user1    pts/1        10.0.0.55       Tue Nov 12 08:30 - 09:00  (00:30)
reboot   system boot  5.4.0-65-generic Tue Nov 12 08:15   still running (since Tue Nov 12 08:15)

每行记录代表一次登录或系统事件,按时间倒序排列,最新的记录显示在最上方,默认情况下,last 命令会显示最近 100 条记录,但可以通过 -n-w 选项指定显示的行数。

last 命令的常用选项

last 命令提供了多个选项,用于过滤和格式化输出结果,以满足不同的需求,以下是一些常用的选项及其功能:

选项 功能描述
-n <num>-w <num> 指定显示的记录行数,last -n 20 显示最近 20 条记录
-a 显示远程主机的 IP 地址,而不是主机名
-d 将登录终端的 IP 地址解析为主机名
-i 显示登录 IP 地址,而不是主机名
-R 不显示远程主机的名称或 IP 地址
-x 显示系统关机、重启等事件,而不仅仅是用户登录记录
-f <file> 指定读取的日志文件,默认为 /var/log/wtmp,也可指定 /var/log/btmp(失败登录记录)

要查看最近 50 条系统重启记录,可以使用以下命令:

linux last命令如何查看用户登录历史记录?

last -x -n 50 | grep "reboot"

last 命令的输出解析

理解 last 命令的输出格式对于分析日志至关重要,以下是一个典型的输出行及其各部分的含义:

user1    pts/1        10.0.0.55       Tue Nov 12 08:30 - 09:00  (00:30)
  • 用户名user1,表示登录系统的用户名。
  • 终端pts/1,表示伪终端设备名,如果是本地登录则为 tty 后跟编号。
  • 远程主机0.0.55,表示用户从哪个 IP 地址或主机登录,本地登录显示为 localhost
  • 登录时间Tue Nov 12 08:30,表示用户登录的具体日期和时间。
  • 注销时间09:00,如果用户已注销,显示注销时间;如果仍在线,则显示 still logged in
  • 持续时间(00:30),表示会话持续的时间,格式为 HH:MMMM:SS

对于系统重启记录,输出格式略有不同:

reboot   system boot  5.4.0-65-generic Tue Nov 12 08:15   still running (since Tue Nov 12 08:15)
  • 事件类型reboot,表示系统重启。
  • 启动类型system boot,表示系统启动。
  • 内核版本4.0-65-generic,表示启动时使用的内核版本。
  • 启动时间Tue Nov 12 08:15,表示系统启动的时间。
  • 运行状态still running,表示系统仍在运行,括号内显示启动时间。

last 命令的实际应用场景

用户登录审计

通过 last 命令,管理员可以查看特定用户的登录历史,确认其登录时间、地点和持续时间,有助于发现异常登录行为,查看 user1 的登录记录:

last user1

系统故障排查

当系统出现无故重启或服务异常中断时,可以通过 last -x 查看重启记录,结合系统日志进一步分析故障原因。

last -x | grep -E "reboot|shutdown"

安全监控

结合 lastb 命令(读取 /var/log/btmp 文件),可以查看失败登录尝试,用于检测暴力破解等安全威胁。

linux last命令如何查看用户登录历史记录?

lastb -n 10

资源使用分析

通过分析用户登录持续时间,可以评估系统资源的使用情况,统计长时间在线的用户:

last | awk '{print $1, $NF}' | grep "still logged in" | sort | uniq -c

注意事项

  1. 日志文件权限/var/log/wtmp/var/log/btmp 文件通常只有 root 用户可读,普通用户执行 last 命令可能无法查看完整信息。
  2. 日志轮转:Linux 系统通常会轮转日志文件(如 wtmp.1wtmp.2),last 命令默认不读取历史日志文件,需通过 -f 选项手动指定。
  3. 日志大小wtmp 文件会随着时间增长,占用大量磁盘空间,建议定期清理或归档旧日志。

last 命令是 Linux 系统管理中不可或缺的工具,它提供了简单高效的方式来查看用户登录和系统活动历史,通过掌握其基本用法和常用选项,管理员可以快速定位问题、审计安全事件并优化系统管理,在实际应用中,建议结合其他日志分析工具(如 grepawkjournalctl)使用,以获取更全面的信息,无论是日常维护还是应急响应,last 命令都能发挥重要作用,是 Linux 用户必备的技能之一。

  •  沉默
     发布于 2024-08-06 19:03:16  回复该评论
  • 服务器主机连接外设需要配置芯片外设,包括设置外设的地址、寄存器等参数,这样才能使服务器主机与外设进行通信和数据交换。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年2月    »
1
2345678
9101112131415
16171819202122
232425262728
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.4

Copyright Your WebSite.Some Rights Reserved.