Linux系统的ECS实例获取用户登录记录

18次阅读


在 Linux 系统的 ECS 实例中,获取用户登录记录主要依赖系统自带的日志文件和命令工具,这些记录包含了用户登录时间、IP 地址、登录方式(本地 / 远程)、登录状态等关键信息。以下是常用方法分类说明,涵盖基础查询、详细日志分析及安全审计场景,适用于大多数 Linux 发行版(如 CentOS、Ubuntu、Alibaba Cloud Linux 等)。

一、基础命令:快速查询近期登录记录

适合快速查看 “谁登录过”“何时登录” 等核心信息,无需深入日志文件,常用命令如下:

1. last 命令:查看历史登录成功记录

last?命令会读取?/var/log/wtmp?日志文件(记录所有成功登录的会话),默认显示所有用户的登录历史,按时间倒序排列(最新的在最前面)。

常用参数与示例:

命令作用

last显示所有用户的完整登录历史(包含登录时间、IP、退出时间、会话持续时长)

last root仅显示?root?用户的登录记录(替换?root?为指定用户名可查特定用户)

last -n 10显示最近 10 条登录记录(-n?后接数字指定条数)

last -i强制显示登录来源的?IP 地址(默认可能显示主机名,-i?避免反向解析)

last -x显示更详细信息(包含系统启动、关机、运行级别切换等记录)

last -f /var/log/wtmp.1查看历史归档日志(wtmp?会按周期归档为?wtmp.1?wtmp.2?等,需指定路径)

示例输出解读:

bash?????

root     pts/0        192.168.1.100    Wed Oct 11 09:30:45 2024 – Wed Oct 11 11:45:12 2024  (02:14)

# 用户名  终端(pts/0=远程SSH,tty1=本地终端)  登录IP  登录时间  退出时间  会话时长

root     pts/1        203.0.113.5      Tue Oct 10 18:15:22 2024 – Tue Oct 10 18:30:05 2024  (00:14)

reboot   system boot  5.14.0-aliyuncs.x Tue Oct 10 18:10:00 2024 – Wed Oct 11 12:00:33 2024  (17:50)

# reboot 表示系统启动记录,无用户名

BashCopy

2. lastb 命令:查看登录失败记录

lastb?命令读取?/var/log/btmp?日志文件(专门记录登录失败的尝试,如密码错误、用户名不存在等),常用于排查暴力破解或异常登录尝试。

常用参数与示例:

命令作用

lastb显示所有登录失败记录(默认按时间倒序)

lastb -n 20显示最近 20 条失败记录

lastb -i显示失败登录的来源 IP(避免主机名解析)

lastb root查看针对?root?用户的登录失败记录(常用于检测是否有人暴力破解 root 密码)

text=ZqhQzanResources