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

Linux如何查看登录用户数?

使用 whow命令查看登录用户信息,统计总登录次数: 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

解读

  • USER:登录用户名。
  • TTY:终端类型(pts为远程终端,tty为本地终端)。
  • FROM:用户IP地址(本地用户显示 :0)。
  • IDLE:空闲时间(20:39表示20分39秒)。
  • WHAT:用户正在执行的命令。
    优势:实时显示用户数、系统负载及活动进程,信息最全面。

方法2:使用 who 命令

命令

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

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. 区分真实用户与系统用户

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

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

    • 定期检查/var/log/secure(RHEL/CentOS)或/var/log/auth.log(Debian/Ubuntu)记录认证日志。
    • 禁用无用账户:sudo usermod -L 用户名(锁定账户)。

命令 适用场景 关键信息
w 实时监控用户及活动 用户数、IP、进程、负载
who 快速会话列表 用户名、来源、登录时间
users 极简用户名统计 去重计数

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

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

0