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

相关推荐
sxgzzn9 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能
张小姐的猫9 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++
CodeMartain10 小时前
Dify Windows 原生部署(无 Docker、纯本地)
运维·docker·容器
xxx1x1x10 小时前
极客向:DLL/运行库故障的底层逻辑与自动化修复方案
运维·自动化·dll文件·dll·dll修复·dll缺失·dll一键修复
YuanDaima204810 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
lolo大魔王12 小时前
Linux 数据文件处理实战:排序、搜索、压缩、归档一站式详解
linux·运维·服务器
llrraa201012 小时前
配置docker国内镜像源
运维·docker·容器
starvapour12 小时前
Ubuntu切换到Fcitx5中文输入法
linux·运维·ubuntu
1892280486112 小时前
NY382固态MT29F32T08GSLBHL8-24QM:B
大数据·服务器·人工智能·科技·缓存
xhbh66612 小时前
网关端口映射和路由器端口转发有什么区别?配置要点全解析
运维·服务器·网络·智能路由器·端口映射·映射·无痕网关