linux查看历史登录日志命令
linux查看历史登录日志命令详细介绍
在 Linux 系统中,查看历史登录日志可以通过以下常用命令和日志文件实现,不同命令对应不同的日志记录类型:
一、查看成功登录日志(包括登录时间、用户、IP 等)
1.
last 命令(最常用)
- 作用:查看所有用户的登录、注销记录(包括远程登录,如 SSH),数据来自
/var/log/wtmp文件。 - 语法:bash
lastlast user
- 输出示例:plaintext
user pts/0 192.168.1.1 Sun May 4 10:00 still logged inuser pts/0 192.168.1.1 Sat May 3 15:00 gone - no logout
root tty1 Fri May 2 08:00 gone - no logout
- 说明:
still logged in表示当前登录的会话。gone - no logout表示异常断开(如强制关闭连接)。
2. 直接查看日志文件
/var/log/wtmp(二进制文件,需用工具解析)
- 语法:bash
last /var/log/wtmp
二、查看失败登录日志(如密码错误、暴力破解尝试)
1.
lastb 命令
- 作用:查看失败的登录记录,数据来自
/var/log/btmp文件。 - 语法:bash
lastblastb user
- 输出示例:plaintext
user ssh:notty 192.168.1.2 Sun May 4 09:59 - 09:59 (00:00)root ssh:notty 192.168.1.3 Sun May 4 09:58 - 09:58 (00:00)
2. 直接查看日志文件
/var/log/btmp
- 语法:bash
lastb /var/log/btmp
三、查看所有用户最后一次登录时间
lastlog 命令
- 作用:显示每个用户的最后一次登录时间(包括本地和远程),数据来自
/var/log/lastlog文件。 - 语法:bash
lastloglastlog username
- 输出示例:plaintext
Username Port From Last loginuser pts/0 192.168.1.1 Sun May 4 10:00:00 +0800 2025
root tty1 Fri May 2 08:00:00 +0800 2025
四、查看详细认证日志(含成功 / 失败记录,适合排查问题)
日志文件根据 Linux 发行版不同,路径可能不同:
- Debian/Ubuntu 等(Debian 系):
/var/log/auth.log - Red Hat/CentOS/Fedora 等(Red Hat 系):
/var/log/secure
常用操作:
- 实时查看最新日志(需管理员权限):
bash/var/log/auth.log - 搜索特定用户的登录记录:
bash/var/log/auth.log - 搜索 SSH 登录记录(含 IP 地址):
bash/var/log/auth.log/var/log/auth.log
- 按时间过滤(如今天的记录):
bash/var/log/auth.log
五、注意事项
- 权限问题:上述日志文件通常仅管理员(root)可访问,需用
sudo或切换到 root 用户。 - 日志轮换:旧日志可能被压缩为
*.gz文件(如/var/log/auth.log.1.gz),可用zcat命令查看:bashzcat /var/log/auth.log.1.gz912 zcat /var/log/auth.log.1.gz |
- 发行版差异:部分 Linux 发行版(如 Arch Linux)的日志路径或配置可能不同,建议先确认日志文件位置。
根据需求选择合适的命令或日志文件,如需详细排查登录问题,建议结合 auth.log/secure 和 last/lastb 命令使用。