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 可以手动更新为当前时间(用于测试或修复记录)。
相关推荐
大树8811 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush411 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52012 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz12 小时前
Maven依赖冲突
java·服务器·maven
不会C语言的男孩13 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
古城小栈13 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix
程序猿阿伟14 小时前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
凡人叶枫14 小时前
Effective C++ 条款42:了解 typename 的双重意义
java·linux·服务器·c++
AC赳赳老秦14 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw