🧭说明
lastb命令用于显示系统中所有失败的登录尝试,是系统安全管理中一个非常实用的工具,尤其有助于发现潜在的暴力破解等异常登录行为。
核心功能与语法
lastb命令会读取/var/log/btmp这个二进制日志文件,并将其中记录的失败登录信息展示出来。它的基本语法格式如下:
lastb[选项][用户名][终端名称]常用选项说明
下表汇总了lastb命令的一些常用选项:
| 选项 | 说明 |
|---|---|
-n <数字> | 限制显示的行数,例如lastb -n 10只显示最近10条记录。 |
-a | 将登录来源的主机名或IP地址信息显示在最后一列。 |
-i | 将远程主机的IP地址以数字格式显示(与-d功能相对,用于避免主机名解析)。 |
-R | 不显示主机名字段(即隐藏来源IP/主机名列)。 |
-F | 显示完整的登录日期和时间(精确到秒)。 |
-x | 同时显示系统的关机、重启和运行级别改变等信息。 |
基础用法示例
查看所有失败登录记录
直接执行lastb会列出全部记录,信息可能很多。通常建议结合-n选项使用。sudolastb -n5输出类似:
root ssh:notty 192.168.1.100 Wed Jan 22 10:23 - 10:23 (00:00) admin ssh:notty 203.0.113.45 Wed Jan 22 09:15 - 09:15 (00:00) btmp begins Mon Jan 20 00:00:00 2025查看指定用户的失败记录
如果只关心某个特定用户(如root)的登录失败情况,可以在命令后直接跟上用户名。sudolastb root统计攻击来源IP
这是一个非常实用的安全审计技巧,可以快速找出尝试登录最频繁的IP地址。sudolastb|awk'{print $3}'|sort|uniq-c|sort-nr|head这个命令组合会输出类似以下的结果,清晰展示了失败次数最多的IP:
125 203.0.113.45 98 192.168.1.100 12 198.51.100.23
⚠️ 重要注意事项
- 权限要求:
/var/log/btmp文件默认只有root用户或adm组的成员有读取权限。因此,普通用户执行lastb时通常需要在命令前加上sudo。 - 日志轮转:系统会定期(如每月)对
btmp日志文件进行归档压缩,旧日志会保存在类似/var/log/btmp-20250101.gz的文件中。可以使用zcat命令来查看这些归档文件:zcat /var/log/btmp-20250101.gz|lastb -f -
总结
lastb命令是Linux系统安全排查的利器。通过它,可以直接监控哪些IP地址正在尝试非法登录系统,从而及时采取封锁IP(例如使用fail2ban工具)或加强密码策略等安全措施。