Linux如何查看登录用户数?
- Linux
- 2025-06-11
- 7
在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 命令
命令:
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
优势:输出简洁,适合嵌入脚本或监控工具。
️ 注意事项与进阶技巧
-
区分真实用户与系统用户:

- 登录用户通常是/etc/passwd中UID≥1000的普通用户(Ubuntu/CentOS)。
- 系统用户(如www-data)一般不直接登录,需结合last命令审计历史记录: last | grep "still logged in"
-
排除非活跃会话:
- 使用 w 或 who 查看IDLE时间,长时间空闲可能是异常会话(如被入侵的僵尸连接)。
-
安全审计建议:
- 定期检查/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+),数据来源可靠,符合系统管理最佳实践。
