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(清除)选项可以直接修改登录记录,请谨慎使用,通常用于特定的系统维护或调试场景。

相关推荐
liuccn17 小时前
Linux 存储系统:LVM 与直接分区
linux·运维
捷配链17 小时前
六层服务器板行业材料与工艺标准化选型指南
服务器·制造·pcb
xexpertS19 小时前
CI/CD 熔断机制:如何通过编排级熔断器提升开发者效率
java·linux·运维
xuefeiniao19 小时前
CentOS + 宝塔服务器偶发 SSH、面板、网站全部无法访问排查记录(PHP-FPM 内存耗尽案例)
服务器·centos·ssh·php
带娃的IT创业者19 小时前
突破内存瓶颈:利用 Nvidia GPU 显存作为 Linux Swap 空间的深度实践
linux·运维·服务器·nvidia·swap·gpu显存
zy happy19 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
LCG元19 小时前
嵌入式开发踩坑排查实战:从 STM32 外设初始化到 Linux SPI 驱动的 15 类硬件疑难故障深度复盘
linux·stm32·单片机
FoldWinCard19 小时前
云原生 --- lvs
运维·服务器·lvs
代码AC不AC19 小时前
【Linux】Socket编程TCP
linux·tcp·socket编程
扛枪的书生19 小时前
SeaweedFS 学习总结
linux