首页/安全/取证与溯源速查/lastlog 账号最近登录时间
Linux 取证135 条

lastlog 账号最近登录时间

lastlog 读取 /var/log/lastlog,列出每个账号最近一次登录的时间与来源,用于发现长期活跃的可疑账号或长期未用的正常账号。

取证与溯源速查安全更新于 2026-10-13

lastlog 账号最近登录

lastlog 读取 /var/log/lastlog,按用户 UID 建立索引,列出每个账号最近一次登录的时间与来源,用来快速看出哪些账号长期活跃、哪些账号从未登录。它是稀疏文件,体积会随系统里最大 UID 的增长而增大,所以在小系统上可能出现文件很大而实际内容很少的情况。

基本信息

数据文件/var/log/lastlog,按 UID 索引的稀疏文件
常用命令lastlog、lastlog -t <天数>、lastlog -u <账号>
新版实现部分发行版提供 lastlog2 与对应的新数据文件
记录内容最近一次登录时间、来源地址与端口或终端
固有局限只保留最后一次记录,不含登录次数与时长

典型使用场景

  • 快速发现从未登录却突然出现记录的账号
  • 判断服务账号是否被人以交互方式登录过
  • 核对账号最后一次登录的来源是否符合预期网段
  • 与认证日志对照,确认最后一次登录具体做了什么
  • 排查长期未使用的账号,作为清理与禁用依据

查询与核对

查询与核对
lastlog | grep -v 'Never logged in'      # 只看有登录记录的账号
lastlog -t 7                              # 只看最近 7 天登录过的
lastlog -u root                           # 单账号查询
ls -l /var/log/lastlog; du -h /var/log/lastlog   # 稀疏文件的实际占用与表观大小
stat -c '%y %n' /var/log/lastlog                # 文件自身修改时间

输出列读法

列含义异常参考
Username账号名陌生账号名或新增账号
Port登录来源,形如地址冒号端口或终端名来自公网地址的 root 登录
From来源地址或终端与业务网段明显不符的来源
Latest最近一次登录时间长期不用的账号突然出现记录
lastlog 只保留最后一次登录,无法体现登录次数与时长。判断账号是否被反复使用,要结合认证日志与登录会话记录;只看这一处很容易低估账号的实际活跃程度。
lastlog 文件可被人为清空或改写:如果所有账号都显示从未登录,而认证日志里却有成功登录记录,这条矛盾本身就是要追下去的线索,不要直接采信命令输出。

易错点

  • 只看 lastlog 就判断账号活跃度,忽略它只保留最后一次登录记录
  • 把从未登录条目直接判定为无害,未结合密钥认证与认证日志核实
  • 稀疏文件体积很大就以为文件损坏,实际与系统最大 UID 有关
  • lastlog 与认证日志矛盾时先入为主采信命令输出,未追查差异原因

数据来源与参考

  • man 8 lastlog(shadow-utils)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌