getent group 可靠列出全量用户组,兼顾本地与网络目录;cat /etc/group 快但仅限本地;groups 仅显示当前用户所属组;主组由 /etc/passwd 第四字段决定,不显现在 /etc/group 成员字段中。

如何列出系统中所有用户组
直接查看 /etc/group 文件就能获得完整组列表,每行一个组,格式为 groupname:x:GID:member1,member2。用 cat /etc/group 最快,但信息密杂;更推荐 getent group,它能同时读取本地文件和网络目录服务(如 LDAP),结果更可靠。
常见误区是只用 groups 命令——它只显示当前用户的所属组,不是全量列表。
查看某个用户属于哪些组
用 groups 或 id -nG 都可以。前者输出带空格分隔的组名,后者更简洁,且不依赖 shell 内置命令,适合脚本调用。
- 如果用户不存在,
groups会静默失败(返回非零退出码但无提示),id则明确报错id: ‘xxx’: no such user - 注意:主组(primary group)不会在
/etc/group的成员字段里列出,它由/etc/passwd中该用户的第 4 字段(GID)决定
为什么 usermod -g 和 usermod -G 容易混淆
usermod -g 修改的是用户的主组(即 /etc/passwd 第 4 字段),一次只能设一个;usermod -G 设置的是附加组(supplementary groups),会**完全覆盖**原有附加组列表,不是追加。
睿拓智能网站系统-网上商城1.0免费版软件大小:5M运行环境:asp+access本版本是永州睿拓信息专为电子商务入门级用户开发的网上电子商城系统,拥有产品发布,新闻发布,在线下单等全部功能,并且正式商用用户可在线提供多个模板更换,可实现一般网店交易所有功能,是中小企业和个人开展个人独立电子商务商城最佳的选择,以下为详细功能介绍:1.最新产品-提供最新产品发布管理修改,和最新产品订单查看2.推荐产
例如:usermod -G docker,plugdev alice 会让 alice 只属于这两个组,之前加的 sudo 或 netdev 全部丢失。真要追加,得先查出原列表:id -nG alice,再拼接后重设。
新用户默认加入哪些组
取决于发行版和 adduser(Debian/Ubuntu)或 useradd(RHEL/CentOS)的行为:
-
adduser默认创建同名组作为主组,并把用户加进sudo(Ubuntu)或wheel(RHEL)等特权组 -
useradd默认**不加任何附加组**,仅设主组;要自动加组,得配/etc/adduser.conf(Debian)或/etc/default/useradd里的GROUPS或ADD_EXTRA_GROUPS
实际管理中,别依赖默认行为——尤其批量建用户时,useradd -G 显式指定比事后补加更可控。









