如何查看所有普通用户名

在Linux系统中,查看用户数量是系统管理的基础操作,以下是几种可靠的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等),并区分了所有用户可登录的普通用户的统计方式:


统计所有用户数量(含系统用户)

系统用户(UID<1000)用于运行服务,普通用户(UID≥1000)用于日常登录。
命令及说明:

cat /etc/passwd | wc -l
  • 原理/etc/passwd 存储所有用户信息,每行代表一个用户。
  • 结果:输出数字即总用户数(包含系统用户)。
  • 示例
    $ cat /etc/passwd | wc -l
    45  # 表示系统共有45个用户(含系统用户)

仅统计普通用户数量(可登录用户)

普通用户的UID(用户ID)通常从1000开始(基于主流发行版默认设置):
推荐命令:

getent passwd | awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' | wc -l
  • 参数解析
    • getent passwd:兼容本地用户及网络账户(如LDAP)。
    • awk -F::以冒号分隔字段。
    • $3 >= 1000 && $3 < 65534:过滤UID范围(1000~65533),排除系统用户和特殊用户。
  • 示例输出
    $ getent passwd | awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' | wc -l
    3  # 表示有3个普通用户

注意

  • 部分旧系统(如RHEL 6)普通用户UID从500开始,需将命令中的 1000 改为 500
  • 使用 $3 < 65534 是为了排除 nobody 等特殊用户(其UID通常为65534)。

扩展:查看用户列表(非数量)

若需查看具体用户名而非数量,移除 wc -l 即可:

# 示例输出:
user1
user2
user3

注意事项

  1. 权限要求
    所有命令无需root权限,但 /etc/passwd 对所有用户可读。
  2. 环境差异
    • UID起始值可能因系统而异,可通过查看 /etc/login.defs 中的 UID_MIN 确认:
      grep '^UID_MIN' /etc/login.defs
    • 网络用户(如LDAP)需确保 getent 命令正常解析。
  3. 容器/云环境
    容器内用户可能较少,统计逻辑相同。

场景 命令
统计所有用户(含系统用户) cat /etc/passwd | wc -l
仅统计普通用户 getent passwd | awk -F: '$3 >= 1000 && $3 < 65534 {print $1}' | wc -l
查看普通用户列表 getent passwd | awk -F: '$3 >= 1000 && $3 < 65534 {print $1}'

引用说明:本文方法参考 Linux 标准基础规范(LSB)、man passwd 手册页及主流发行版官方文档(如Ubuntu、Red Hat),确保通用性和准确性。

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

(0)
酷番叔酷番叔
上一篇 2025年8月6日 18:00
下一篇 2025年8月6日 18:09

相关推荐

  • Linux滚动屏幕有技巧吗?

    命令行终端(Terminal)滚动使用键盘快捷键向上滚动:Shift + PageUp:向上翻页Ctrl + Shift + ↑:逐行向上滚动(部分终端支持)向下滚动:Shift + PageDown:向下翻页Ctrl + Shift + ↓:逐行向下滚动快速定位:Ctrl + Home:跳转到输出开头Ctrl……

    2025年6月15日
    15100
  • 安装前你准备好了吗?

    Java Development Kit(JDK)是开发和运行Java应用的核心工具包,在Linux系统中安装JDK是开发者的基础操作,本文将提供三种主流安装方法,涵盖OpenJDK和Oracle JDK,并详解环境变量配置与故障排查,确保您高效完成部署,检查现有JDK终端执行以下命令,若返回版本号则已安装:j……

    2025年7月24日
    16400
  • 动态调试如何助力逆向工程?

    在Linux系统中,开启调试打印(通常称为dbgprint)是开发者诊断内核或驱动问题的关键手段,本文提供三种主流方法,涵盖动态调试、日志级别调整和内核参数配置,所有操作需root权限,并假设内核已启用动态调试支持(CONFIG_DYNAMIC_DEBUG=y),适用场景:精准控制特定内核模块、文件或函数的调试……

    2025年7月15日
    14700
  • Debian/Ubuntu更新卡住怎么办?

    准备工作(所有方法通用)更新系统终端执行:sudo apt update && sudo apt upgrade -y # Debian/Ubuntusudo dnf update -y # Fedora/RHEL安装依赖sudo apt install -y build-essential l……

    2025年7月25日
    13700
  • 如何登录到linux主机

    可通过SSH客户端,输入Linux主机IP及相应用户名、密码登录到

    2025年8月15日
    11900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信