命令功能
last命令用于显示系统最近登录的用户信息,包括登录时间、登录终端、登录IP地址等。该命令读取/var/log/wtmp文件来获取登录记录。
基本语法
last [选项] [用户名] [终端]
选项说明
- -a, –hostlast:在最后一行显示主机名
- -d, –dns:将IP地址解析为域名
- -f, –file:指定要读取的文件(默认为/var/log/wtmp)
- -i, –ip:显示IP地址而不是主机名
- -n, –limit:限制显示的行数
- -R, –nohostname:不显示主机名
- -t, –time:显示指定时间之后的登录记录
- -x, –system:显示系统关机、重启等事件
- -F, –fulltimes:显示完整的登录和注销时间
- -p, –present:显示指定时间点的登录用户
- -s, –since:显示指定时间之后的登录记录
- -u, –until:显示指定时间之前的登录记录
- -w, –fullnames:显示完整的用户名
使用示例
1. 显示所有登录记录
# 显示所有用户的登录记录
last
2. 显示指定用户的登录记录
# 显示用户root的登录记录
last root
3. 限制显示行数
# 只显示最近5条登录记录
last -n 5
4. 显示IP地址
# 显示IP地址而不是主机名
last -i
5. 显示系统事件
# 显示系统关机、重启等事件
last -x
6. 显示指定时间之后的记录
# 显示2023年12月1日之后的登录记录
last -s 20231201
7. 显示完整时间
# 显示完整的登录和注销时间
last -F
输出说明
- 用户名:登录的用户名
- 终端:登录的终端(tty1、pts/0等)
- 登录IP:远程登录的IP地址
- 登录时间:登录开始时间
- 注销时间:登录结束时间(still logged in表示仍在登录)
- 持续时间:登录会话的持续时间
注意事项
- 只有root用户才能查看所有用户的登录记录
- 普通用户只能查看自己的登录记录
- 使用-f选项可以读取其他日志文件
- 系统重启、关机等事件也会被记录
- 如果wtmp文件被清空或损坏,可能无法显示历史记录
相关命令
- lastb:显示失败的登录尝试
- lastlog:显示所有用户最近一次登录信息
- who:显示当前登录的用户
- w:显示当前登录用户及其活动
- finger:显示用户信息
实际应用场景
- 查看系统登录历史
- 监控异常登录行为
- 审计用户活动
- 排查安全问题
- 统计用户登录情况