Linux如何查看登录用户数?

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

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

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

输出示例

Linux如何查看登录用户数?

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如何查看登录用户数?

    • 登录用户通常是/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+),数据来源可靠,符合系统管理最佳实践。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/19269.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月11日 08:22
下一篇 2025年6月11日 08:29

相关推荐

  • Linux磁盘爆满?快速释放空间简单方法

    清理磁盘空间可执行: ,1. 删除大文件及日志:sudo find /var/log -type f -size +100M -delete ,2. 清理软件缓存:sudo apt clean (Debian/Ubuntu) 或 sudo dnf clean all (Fedora) ,3. 移除无用依赖包:sudo apt autoremove / sudo dnf autoremove ,定期检查大文件:du -sh /* | sort -rh 释放宝贵空间。

    2025年6月3日
    800
  • Linux如何彻底删除用户命令?

    使用userdel -r 用户名命令删除账户及其主目录;检查/etc/passwd, /etc/shadow, /etc/group等文件确保用户信息清除;最后清理该用户在/var/mail等位置的残留邮件或文件。

    2025年6月1日
    500
  • Linux怎么测试WSDL?

    在Linux中,测试WSDL服务可执行以下步骤: ,1. 使用curl命令调用WSDL地址:curl -X GET http://example.com?wsdl验证XML返回; ,2. 通过soapui命令行工具或wsdl2python生成客户端代码发送测试请求; ,3. 用telnet或nc检查服务端口连通性。

    2025年6月9日
    000
  • Linux查IP用哪个命令

    在Linux中查看当前IP地址,常用命令有:,1. ip addr(推荐,显示详细网络接口信息),2. ifconfig(需安装net-tools,显示接口配置),3. hostname -I(仅快速输出本机IP),执行任一命令即可获取IP地址信息。

    2025年6月10日
    100
  • 如何查看 Linux 内核版本

    查看Linux内核版本,常用命令 uname -r 显示核心版本号,uname -srm 可同时查看系统名称、版本及硬件架构,也可通过 /proc/version 文件获取详细信息。

    2025年6月12日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN