Linux lastlog查询和显示所有用户最近一次登录信息

lastlog 是 Linux 系统中一个用于查询和显示所有用户最近一次登录信息 的命令。它会读取 /var/log/lastlog 文件,并按用户 UID 排序,输出用户名、登录终端(Port/From)以及最近登录时间。如果一个用户从未登录过,则会显示 **Never logged**

主要功能与特性

特性 说明
数据来源 读取 /var/log/lastlog 文件,该文件在每次用户登录时更新。
显示内容 用户名、登录端口/终端(如 pts/0)、来源 IP(如果适用)和最近登录时间。
排序方式 默认按用户 UID 排序显示。
权限要求 通常需要 root 权限 才能执行(普通用户可能无法查看所有用户信息)。
last 的区别 last 命令显示所有登录记录(包括多次登录),而 lastlog 只显示每个用户的最近一次登录。

常用命令选项

以下是 lastlog 命令的常用选项及示例:

选项 说明 示例
无选项 显示系统中所有用户的最近一次登录信息。 sudo lastlog
-u <用户名> 仅显示指定用户的最近登录信息。 sudo lastlog -u root
-t <天数> 仅显示在指定天数内(以来)有登录的用户。 sudo lastlog -t 7
-b <天数> 仅显示早于指定天数的登录记录。 sudo lastlog -b 7
-h 显示帮助信息。 lastlog -h
-C(需与 -u 同用) 清除指定用户的 lastlog 记录(执行后该用户将显示"从未登录过")。 sudo lastlog -C -u root
-S(需与 -u 同用) 将指定用户的 lastlog 记录设置为当前时间。 sudo lastlog -S -u username

典型输出示例

执行 sudo lastlogsudo lastlog -u root 的输出格式通常如下:

复制代码
Username         Port     From             Latest
root             pts/0    221.6.45.34      Tue Dec 17 09:40:48 +0800 2013
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
...

这表示用户 root 最近一次从 IP 221.6.45.34 通过终端 pts/0 登录,而系统用户如 bindaemon 等从未登录过。

使用场景与注意事项

  1. 安全审计 :系统管理员可以定期运行 lastlog 来检查所有用户的最后登录时间,识别长期未活动的账户或异常登录。
  2. 排查问题 :结合 -t-b 选项,可以快速筛选近期登录或很久未登录的用户。
  3. 权限注意 :由于涉及系统所有用户信息,通常需要 sudo 提权才能获得完整输出。
  4. 数据重置 :使用 -C 选项可以清除某个用户的记录(例如在重置账户状态时),使用 -S 可以手动更新为当前时间(用于测试或修复记录)。
相关推荐
运维管理18 小时前
DELL R740服务器上,安装Windows Server 2022--学习篇
运维·服务器·windows
我的golang之路果然有问题18 小时前
linux 个人笔记导出之网络,防火墙,定时,权限,后台
linux·运维·服务器·网络·笔记·个人笔记
Sapphire~18 小时前
odoo-087 安装 npm (node ok npm not)
linux·运维·npm
唐装鼠18 小时前
linux vscode解压版 AI账号无法登陆问题(浏览器无法打开vscode)
linux·运维·vscode
玉树临风江流儿18 小时前
炸鸡派-echoAI机器人项目解析
linux
一个平凡而乐于分享的小比特19 小时前
Linux最小系统详解
linux·最小系统
db_murphy19 小时前
学习篇 | 服务器的睿频
运维·服务器·学习
Levin__NLP_CV_AIGC19 小时前
Ubuntu部署Dufs
linux·运维·服务器·ubuntu·ssh
小宇的天下19 小时前
Calibre 3Dstack --每日一个命令days8【connected】(3-8)
运维·服务器·性能优化