Linux命令-lastlog(显示系统中所有用户的最近一次登录信息)

🧭说明

lastlog 命令用于显示系统中所有用户的最近一次登录信息,对于系统安全和用户活动监控非常实用。

核心语法与选项

lastlog 命令的基本语法为 lastlog [选项]。常用的选项如下表所示:

选项 说明
-u <用户名> 仅显示指定用户的登录信息。
-t <天数> 显示在最近指定天数内有登录活动的用户。
-b <天数> 显示早于指定天数前的登录记录。
-S (需与 -u 连用)将指定用户的登录记录设置为当前时间。
-C (需与 -u 连用)清除指定用户的登录记录。
-h 显示帮助信息。

基础用法示例

下面通过几个例子来说明如何使用这些选项。

  1. 查看所有用户的登录信息

    直接执行 lastlog 命令,会列出系统中所有用户(按UID排序)的最后登录信息,包括用户名、终端端口、来源IP地址和登录时间。从未登录过的用户会显示为 Never logged in

    复制代码
    $ lastlog
    Username         Port     From             Latest
    root             pts/0    192.168.1.10     Mon Jan 20 10:30:15 +0800 2025
    john             pts/1    192.168.1.15     Tue Jan 21 14:22:05 +0800 2025
    daemon                                      Never logged in
    ...
  2. 查询特定用户

    使用 -u 选项可以快速定位单个用户的信息。

    复制代码
    $ lastlog -u john
    Username         Port     From             Latest
    john             pts/1    192.168.1.15     Tue Jan 21 14:22:05 +0800 2025
  3. 筛选登录时间

    结合 -t-b 选项,可以筛选在特定时间范围内有过登录行为的用户。

    • 查看最近7天内登录过的用户:

      bash 复制代码
      lastlog -t 7
    • 查看超过30天未登录的用户:

      bash 复制代码
      lastlog -b 30

实用技巧与注意事项

  • 查找休眠账户 :一个非常实用的安全技巧是结合 grep 命令快速找出所有从未登录过的系统账户,这有助于识别和清理不必要的账户。

    bash 复制代码
    lastlog | grep "Never logged in"
  • 权限要求lastlog 命令读取的是 /var/log/lastlog 文件,因此通常需要 root 权限 才能获得完整的输出结果。在普通用户下执行,可能无法看到所有用户的信息。

  • 谨慎使用管理选项-S(设置)和 -C(清除)选项可以直接修改登录记录,请谨慎使用,通常用于特定的系统维护或调试场景。

相关推荐
wdfk_prog2 小时前
[Linux]学习笔记系列 -- [drivers][base]syscore
linux·笔记·学习
小王努力学编程2 小时前
LangChain—AI应用开发框架(认识模型)
linux·服务器·人工智能·机器学习·容器·langchain
mzhan0172 小时前
Linux: netlink 内核网络数据变化通知应用
linux·网络·netlink
qq_381338502 小时前
1Panel 快速部署 Node+MongoDB+Nginx 项目实操流程(附避坑指南)
linux·运维·服务器
Jorunk2 小时前
如何配置实验室的服务器
运维·服务器
双层吉士憨包2 小时前
如何注册Talkatone免费美国号码?实测有效方案
大数据·运维·网络
空空空空空空空空空空空空如也2 小时前
QT编译程序在Ubuntu下不进桌面直接启动和避免重复启动的方法
linux·运维·ubuntu
辰尘_星启2 小时前
解决幽灵容器
linux·docker·容器·机器人·嵌入式
一人の梅雨2 小时前
义乌购商品详情接口进阶实战:批发场景下的精准解析与高可用架构
java·服务器·前端