lastb命令用于查看linux系统中用户登录失败记录,读取/var/log/btmp文件,仅root可执行;需确认btmp存在且非空,支持-n、-i等选项及管道分析,注意权限与安全。

lastb 命令用于查看 Linux 系统中用户登录失败的记录,它读取的是 /var/log/btmp 文件(该文件由系统自动维护,记录所有失败的登录尝试)。默认情况下只有 root 用户能执行此命令,普通用户会提示权限拒绝。
确认 btmp 文件存在且有数据
系统需启用登录失败日志记录功能,且 /var/log/btmp 文件必须存在并有写入权限。可先检查:
- 运行
ls -l /var/log/btmp,确认文件存在且大小不为 0 - 若文件不存在或为空,可能是系统未启用失败日志,或被手动清空过
- 某些精简版系统(如部分容器镜像)可能默认不生成 btmp,需确认 PAM 配置中是否启用了
pam_tally2.so或pam_faillock.so
基本用法:查看最近的失败登录记录
直接运行以下命令即可列出最近的失败登录条目(按时间倒序):
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
-
sudo lastb—— 显示全部失败记录,每行包含用户名、终端(tty/pts)、IP 地址(若为远程 SSH)、时间 -
sudo lastb -n 10—— 只显示最近 10 条记录 -
sudo lastb -i—— 将 IP 地址以数字形式显示(避免 DNS 解析延迟或失败)
结合其他命令快速分析
单独看 lastb 输出信息量大,常配合管道进一步处理:
- 统计各 IP 的失败次数:
sudo lastb | awk '{print $3}' | sort | uniq -c | sort -nr | head -10 - 筛选特定用户的失败记录:
sudo lastb | grep '^username' - 查看某时间段内的失败记录(需结合时间字段手工过滤,因 lastb 不支持原生时间范围参数)
注意权限与安全事项
使用 lastb 本质是在读取敏感审计数据,务必注意:
- 必须用
sudo或切换到 root 执行,不可绕过权限检查 - btmp 文件本身应保持权限为
600(仅 root 可读写),防止未授权访问 - 定期轮转或清理 btmp(如用
logrotate)可避免文件过大;清空可用sudo truncate -s 0 /var/log/btmp,但清空前建议备份










