如何查看所有普通用户名

在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

相关推荐

  • 如何在Ubuntu中快速安装Debian软件包?

    在Linux系统中,使用telnet测试服务器端口的连通性是一种基础且高效的网络诊断方法,它通过建立TCP连接验证目标端口是否开放,帮助排查服务状态、防火墙规则或网络问题,以下是详细操作指南:Telnet的作用与原理作用:检测远程服务器的指定端口是否可访问(如Web服务80端口、MySQL的3306端口),原理……

    2025年7月1日
    7800
  • Linux中goto语句如何使用?

    在Linux环境下,goto语句是C/C++等编程语言提供的控制流语句,用于无条件跳转到代码中定义的标签处,它常用于简化错误处理或退出多层嵌套,但需谨慎使用以避免代码结构混乱。

    2025年7月16日
    10200
  • linux如何进入系统状态

    Linux中,通常在开机后通过登录界面输入用户名和密码,或在启动引导界面

    2025年8月10日
    9600
  • Linux安装CVX如何结合MATLAB?

    安装前提已安装MATLABCVX是MATLAB工具箱,需先安装MATLAB(R2009a或更高版本)验证MATLAB安装:终端执行 matlab -nodesktop -nosplash 应启动MATLAB命令行系统依赖sudo apt updatesudo apt install unzip build-es……

    2025年6月17日
    11500
  • 禅道Linux启动只需几步?

    禅道是一款开源的项目管理软件,支持敏捷开发、测试管理和DevOps流程,在Linux服务器上部署禅道,可充分发挥其稳定性和高性能优势,以下是经过验证的详细启动流程(基于官方文档和最佳实践):环境准备(必需依赖)系统要求操作系统:CentOS 7+/Ubuntu 18.04+(推荐)运行环境:PHP 7.2-8……

    2025年6月28日
    9100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信