麒麟os中需用sudo last -a、lastlog、lastb及auth.log交叉分析登录行为:last查成功记录,lastlog查末次登录,lastb查失败尝试,auth.log提供实时认证详情,启用journalctl持久化日志可追溯跨重启会话。

您需要在麒麟OS终端中完整回溯系统所有用户的登录行为,包括成功与失败记录、时间戳、来源终端及IP地址,而非仅限当前用户或最近几条。
用 last 命令查看所有用户的成功登录历史
last 从 /var/log/wtmp 读取归档记录,按时间倒序列出全部用户登录、注销、重启事件,是获取结构化登录时间线的首选命令。
执行 sudo last,立即输出全部历史记录,最新一条在最上方;注意默认不显示IP,排查远程异常时务必加 -a 参数——【不加 -a 就看不到远程登录的IP,排查异常来源时会漏关键线索】。
输入 sudo last -a | head -20,只看最近20条带主机名/IP的完整记录,避免翻屏干扰。
运行 sudo last --since "7 days ago",精准提取过去一周内所有成功登录活动,适用于周期性安全核查。
用 lastlog 查所有用户的末次登录状态
lastlog 读取 /var/log/lastlog,适合批量检查账户是否被长期闲置或突然激活,结果按UID顺序排列,未登录用户标为 Never logged in。
方法一:执行 sudo lastlog,直接列出全部本地用户最后一次登录的终端、IP和时间。
方法二:运行 sudo lastlog -t 1,仅显示过去24小时内有登录动作的用户,跳过沉寂账户,聚焦活跃面。
方法三:输入 sudo lastlog -i,强制以数字IP格式显示来源地址,避免因DNS解析失败导致字段错位或显示为 hostname。
用 lastb 查所有用户的失败登录尝试
当怀疑存在暴力破解或误输密码时,/var/log/btmp 中的失败记录比成功登录更早暴露风险,且每条均含精确时间戳与来源信息。
执行 sudo lastb,列出所有认证失败条目,含用户名、终端、IP 和时间戳。
运行 sudo lastb | head -15,只看最近15条失败记录,防止因日志过大卡住终端。
输入 sudo lastb -i,强制以数字IP格式显示来源地址——【此参数对分析SSH爆破源IP至关重要,否则可能因反向DNS超时导致字段偏移】。
交叉验证:从 auth.log 提取实时成功与失败记录
/var/log/auth.log 记录了所有PAM认证细节,比 wtmp 更实时,尤其适用于SSH密钥登录、sudo提权等未写入wtmp的场景。
第一步:执行 sudo grep "Accepted" /var/log/auth.log | tail -10,抓取最近10条成功登录事件,含IP与时间。
第二步:运行 sudo grep "Failed password" /var/log/auth.log | tail -10,提取最近10条密码失败记录,定位高频攻击源。
第三步:输入 sudo awk '/Failed|Accepted/ {print $1,$2,$3,$9,$11}' /var/log/auth.log | tail -15,合并筛选两类事件并精简输出字段,便于横向比对。
启用持久化日志后查看 systemd-journal 登录会话
systemd-journald 默认仅将日志存于内存,重启即清空;若需追溯跨重启的登录行为,必须先启用磁盘持久化。
确认已启用:执行 sudo journalctl --disk-usage,若输出显示“Archived and active journals take up …”且大小非零,则说明已生效。
查看登录相关会话:运行 sudo journalctl _COMM=login,过滤出 login 程序触发的所有会话事件。
检索图形界面登录:输入 sudo journalctl -u lightdm.service --since "2026-09-01",限定查看LightDM服务自本月起的日志,含用户图形登录全过程。











