Linux用户组管理核心为建组、加用户、设权限三步:用groupadd创建组,usermod -aG添加附加组或-usermod -g修改主组,再通过chgrp和chmod设置目录属组及setgid权限实现资源控制。

Linux 用户组的创建和权限分配,核心在于三步:建组、加用户、设权限。操作本身不难,但顺序和细节容易出错,比如主组和附加组混淆、删组前没清理成员、文件权限没同步更新等。
创建用户组
用 groupadd 命令最直接:
- 基础创建:`sudo groupadd developers` —— 系统自动分配 GID
- 指定 GID:`sudo groupadd -g 1005 testers` —— 适合需要固定 ID 的场景(如跨服务器统一策略)
- 验证是否成功:`getent group developers` 或 `grep developers /etc/group`
把用户加入组
用户可以有一个主组(创建时指定),还能属于多个附加组。添加附加组用 usermod -aG:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- `sudo usermod -aG developers alice` —— 将用户 alice 加入 developers 组(-a 是关键,避免覆盖已有附加组)
- 若要修改主组:`sudo usermod -g developers bob` —— bob 的主组变为 developers,原主组不再关联
- 查看用户所属组:登录后运行 `id`,或 `groups username`
配合文件权限实现资源控制
组权限真正起作用,靠的是对目录/文件设置属组和权限位:
- 把目录属组设为刚建的组:`sudo chgrp developers /srv/project`
- 给组赋予读写执行权限:`sudo chmod 2775 /srv/project` —— 2 表示 setgid,确保该目录下新建文件自动继承 developers 组
- 普通文件常用 664(所有者读写、组读写、其他只读),目录常用 2775(带 setgid)或 775
日常维护要点
删组、改名、查状态这些操作也常被忽略:
- 重命名组:`sudo groupmod -n newname oldname`
- 删除组:`sudo groupdel testers` —— 仅限无用户作为主组的组;若某用户主组是 testers,得先 `usermod -g othergroup user` 再删
- 查看所有组:`cat /etc/group` 或 `compgen -g`
- 临时测试权限:切换用户后用 `touch /srv/project/testfile` 看是否成功,比猜更可靠

















