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

相关推荐
安当加密1 天前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20151 天前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑
内卷焦虑人士1 天前
Windows安装WSL2+Ubuntu 22.04
linux·windows·ubuntu
卷福同学1 天前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
woho7788991 天前
不同网段IP的网络打印机,打印、扫描设置
运维·服务器·网络
耗子会飞1 天前
小白学习固定VM虚拟机的centos服务器的IP
运维·服务器·centos
dddddppppp1231 天前
qemu模拟的一个内核驱动 io口中断
linux
程序员老赵1 天前
超全 Docker 镜像源配置指南|Windows/Mac/Linux一键搞定,拉镜像再也不卡顿
linux·后端·容器
门豪杰1 天前
Ubuntu下安装Claude Code
linux·运维·ubuntu·claude·claude code
总要冲动一次1 天前
离线安装 percona-xtrabackup-24
linux·数据库·mysql·centos