如何查看所有普通用户名

在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系统中为火狐浏览器安装插件?

    在Linux操作系统中,火狐浏览器(Firefox)作为一款开源、跨平台的网页浏览器,凭借其强大的扩展性(通过插件/扩展功能)深受用户喜爱,插件能够帮助用户定制浏览体验、提升工作效率、增强安全性,例如广告拦截、密码管理、开发者工具等,本文将详细介绍在Linux系统下为火狐浏览器安装插件的多种方法,包括官方扩展商……

    2025年8月27日
    5900
  • 如何快速更新软件源?

    在Linux系统中编译安装MITAB库的完整指南MITAB是用于读写MapInfo TAB地理数据格式的开源C++库,广泛应用于GIS数据处理,以下是在Linux系统中从源代码编译安装MITAB的详细流程:安装编译依赖在开始前,确保系统已安装必要的开发工具和库:# 安装基础编译工具sudo apt instal……

    2025年7月5日
    8200
  • 服务器克隆如何实现?

    块设备级克隆(dd命令)适用场景:全盘备份、硬件迁移或完全相同的裸机恢复优势:扇区级精确复制,包含引导记录和隐藏分区操作步骤:准备目标磁盘连接新磁盘(容量 ≥ 源盘),通过 lsblk 确认设备标识(如 /dev/sdb)重要:操作前卸载目标盘:umount /dev/sdb*启动克隆进程dd if=/dev……

    2025年7月17日
    6400
  • 为什么必须更新软件包列表?

    在Linux系统中安装GCC(GNU Compiler Collection)是开发工作的基础步骤,GCC是一套开源的编程语言编译器,支持C、C++、Fortran等语言,以下提供官方推荐且安全的安装方法,涵盖主流的Linux发行版,所有操作均需终端权限,普通用户请使用sudo提权,通过包管理器安装(推荐)Li……

    2025年6月24日
    11300
  • Linux SVN如何访问指定服务器地址?

    在Linux环境下使用SVN(Subversion)进行版本控制时,访问SVN仓库地址是核心操作之一,SVN仓库地址通常包含协议类型、服务器IP/域名、端口及仓库名称等要素,不同协议的访问方式和配置有所差异,本文将详细介绍Linux环境下通过不同协议访问SVN地址的步骤、注意事项及常见问题排查方法,访问SVN地……

    2025年9月18日
    4600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信