当前位置:首页 > Linux > 正文

Linux如何查看登录用户数?

使用 who或 w命令查看登录用户信息,统计总登录次数: who | wc -l,统计不同用户数量: who | cut -d' ' -f1 | sort -u | wc -l。

在Linux系统中,监控当前登录用户是系统管理和安全审计的重要环节,无论是排查异常访问、统计活跃会话,还是优化资源分配,掌握准确的方法都至关重要,以下是几种专业、高效且可靠的查看登录用户的方式:


方法1:使用 w 命令(推荐)

命令

w

输出示例

12:30:45 up 10 days, 3:22, 3 users, load average: 0.08, 0.03, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT john pts/0 192.168.1.101 11:45 5.00s 0.05s 0.00s sshd: john [priv] lisa pts/1 203.0.113.42 12:10 20:39 0.02s 0.02s -bash root tty1 :0 09:15 3:15m 0.10s 0.08s /usr/bin/Xorg

解读

Linux如何查看登录用户数? 第1张

  • USER:登录用户名。
  • TTY:终端类型(pts为远程终端,tty为本地终端)。
  • FROM:用户IP地址(本地用户显示 :0)。
  • IDLE:空闲时间(20:39表示20分39秒)。
  • WHAT:用户正在执行的命令。

    优势:实时显示用户数、系统负载及活动进程,信息最全面。


方法2:使用 who 命令

命令

who

输出示例

john pts/0 2025-05-15 11:45 (192.168.1.101) lisa pts/1 2025-05-15 12:10 (203.0.113.42) root tty1 2025-05-15 09:15 (:0)

解读

  • 每行代表一个登录会话,包含用户名、终端、登录时间和来源IP
  • 统计用户总数:who | wc -l

    适用场景:快速查看活跃会话,适合脚本自动化统计。


方法3:使用 users 命令(极简统计)

命令

users

输出示例

john lisa root

解读

  • 直接列出所有登录用户名(重复出现表示同一用户多终端登录)。
  • 统计总数:users | wc -w

    优势:输出简洁,适合嵌入脚本或监控工具。


️ 注意事项与进阶技巧

  1. 区分真实用户与系统用户

    Linux如何查看登录用户数? 第2张

    • 登录用户通常是/etc/passwd中UID≥1000的普通用户(Ubuntu/CentOS)。
    • 系统用户(如www-data)一般不直接登录,需结合last命令审计历史记录: last | grep "still logged in"
  2. 排除非活跃会话

    • 使用 w 或 who 查看IDLE时间,长时间空闲可能是异常会话(如被入侵的僵尸连接)。
  3. 安全审计建议

    • 定期检查/var/log/secure(RHEL/CentOS)或/var/log/auth.log(Debian/Ubuntu)记录认证日志。
    • 禁用无用账户:sudo usermod -L 用户名(锁定账户)。
    • 命令 适用场景 关键信息
      w 实时监控用户及活动 用户数、IP、进程、负载
      who 快速会话列表 用户名、来源、登录时间
      users 极简用户名统计 去重计数

      最佳实践:日常运维推荐 w,脚本处理优先 who 或 users,定期审计登录记录是保障系统安全的基础措施。

      引用说明基于Linux核心工具(util-linux包)的官方文档及Red Hat/CentOS、Debian/Ubuntu系统管理指南,命令兼容主流发行版(如Ubuntu 22.04、CentOS 7+),数据来源可靠,符合系统管理最佳实践。

      Linux如何查看登录用户数? 第3张

0