要查看linux系统中的用户登录记录,可使用last和lastlog命令。1. last命令用于查看所有用户的最近登录、登出及系统重启记录,读取/var/log/wtmp文件,支持按用户名查询(如last username)和限制输出条目(如last -n 5),能显示登录方式(如ssh或本地终端)及具体时间;2. lastlog命令用于查看每个用户的最后一次登录信息,读取/var/log/lastlog文件,适合快速识别用户最后活动状态及潜在闲置账户,可通过lastlog -u指定用户查询;3. 两者区别在于,last侧重详细历史行为,适用于排查异常登录,而lastlog适合整体账户状态检查,便于账户清理与权限审核。掌握这两个命令有助于系统运维和安全审计。
linux系统中,查看用户登录记录是运维或安全审计中的常见需求。如果想知道谁在什么时候登录过系统,用什么方式登录的,last和lastlog这两个命令非常实用。它们能提供详细的登录历史信息,而且使用简单。
last 命令:查看最近的登录记录
last 命令主要用于查看系统中用户的最近登录与登出记录,包括系统重启的时间点等信息。它读取的是 /var/log/wtmp 文件的内容。
常用方法:
-
直接输入 last,会列出所有用户的登录、登出时间以及来源IP或终端:
$ last user1 pts/0 192.168.1.100 Tue Mar 26 14:30 - 15:00 (00:30) reboot system boot 5.4.0-147 Tue Mar 26 10:00 - 16:00 (06:00)
-
想查某个特定用户的记录?加上用户名就行:
$ last username
-
只想看最近几条?可以加 -n 参数限制输出行数:
$ last -n 5
一些小细节:
- 如果看到 pts/0,说明是通过SSH远程登录。
- 出现 tty1 这样的记录,表示是本地终端登录。
- reboot 和 shutdown 的记录也能看到,对排查问题有帮助。
lastlog 命令:查看每个用户的最后一次登录
如果你只是想快速知道每个用户最后一次登录的时间、地点和方式,lastlog 是更合适的选择。它读取的是 /var/log/lastlog 文件。
基本用法:
-
输入 lastlog 会列出所有用户的最后一次登录信息:
$ lastlog Username Port From Latest root tty1 Tue Mar 26 09:00:00 +0800 2024 user1 pts/0 192.168.1.100 Tue Mar 26 14:30:00 +0800 2024
-
指定用户查看:
$ lastlog -u username
注意点:
- 如果一个用户从未登录过,这里可能显示空白或者很久远的日期。
- 对于长期未使用的账户,这个命令可以帮助识别潜在的安全风险。
两个命令的区别与适用场景
虽然 last 和 lastlog 都用于查看登录记录,但它们各有侧重:
- last 更适合查看历史登录行为,比如排查异常登录时间、频繁连接断开等情况。
- lastlog 更适合一次性查看所有用户的最后登录状态,适用于账户清理或权限检查。
举个例子:
- 安全审计时想看看有没有人在非工作时间登录服务器 → 用 last
- 想确认哪些账号长期没用了 → 用 lastlog
基本上就这些。掌握好这两个命令,再配合日志分析工具,就能很好地了解系统的登录情况了。