要全面掌握银河麒麟操作系统中所有用户组,需结合命令行与图形界面:执行cat /etc/group查看本地组,getent group获取含网络目录服务的完整组列表,图形界面仅显示本地组且需管理员权限;筛选时可用grep排除空组和系统组。

如果您需要全面掌握银河麒麟操作系统中已定义的所有用户组,以便进行权限规划、安全审计或排查组策略失效问题,就必须绕过图形界面的简化展示,直接读取系统级组数据库文件或调用统一名称服务接口。
查看所有本地用户组(/etc/group 文件)
该方法直接读取系统核心组配置文件,输出结果不含外部目录服务(如LDAP)所管理的组,但覆盖全部本地创建的组,是验证组存在性的最基础依据。
打开终端,执行:cat /etc/group。
每行格式为:组名:密码占位符:GID:成员列表。其中第一字段即为组名,例如 sudo:x:27: 表示名为 sudo 的组,GID 为 27,当前无成员。
若只需列出组名(去除冗余字段),运行:cut -d: -f1 /etc/group。
【注意】该命令输出包含系统组(如 daemon、sys),其 GID 通常小于 1000,普通管理员应重点关注 GID ≥ 1000 的自定义组。
通过 getent 命令查询全部可用组(含外部源)
当系统已接入 LDAP、SSSD 或 NIS 等网络目录服务时,仅查 /etc/group 会遗漏远程定义的组;getent 命令依据 /etc/nsswitch.conf 配置自动合并所有数据源,结果更完整。
在终端中输入:getent group 并回车。
该命令输出与 /etc/group 格式一致,但可能包含额外行——这些行来自网络目录服务,其组名在本地 /etc/group 中不存在。
如需过滤出仅由本地文件定义的组,可对比执行:comm -23 。
图形界面查看用户组列表
适用于不熟悉命令行的系统维护人员,能直观识别组用途、GID 及当前成员数,但无法显示外部组且不支持导出完整列表。
方法一:点击左下角「开始菜单」→ 搜索“用户和组管理” → 打开程序 → 左侧选择「组管理」→ 右侧列表即为所有可见组。
方法二:若未安装图形化管理工具,可进入「系统设置」→「账户」→「用户组」(部分版本路径为「控制面板 → 用户账户 → 高级 → 组」)。
双击任意组名,弹出窗口中显示该组的 GID、描述信息及成员用户名列表。
【重要前提】必须以管理员身份登录才能看到全部组;普通用户登录后,组管理界面可能仅显示其所属的组。
筛选具有实际成员的用户组
系统预置大量空组(如 plugdev、render),若目标是定位被真实使用的权限载体,应排除无成员组。
- 第一步:提取所有含成员的组行:
grep -v ':$' /etc/group(排除末尾为冒号的空组)。 - 第二步:进一步过滤掉仅含系统账户的组(如 root、daemon):
grep -v ':root\|:daemon\|:sys' /etc/group | grep -v ':$'。 - 第三步:确认某组是否被当前用户使用:
groups | grep -w 组名,例如groups | grep -w sudo。











