Linux查看用户所属组id和groups命令用法 Linux
前言
判断一个用户能访问哪些文件、属于哪些组,要用 id 和 groups 命令。权限问题常和用户组有关:文件属组是某个组,用户加入该组才有权限。本文讲解查看自身与指定用户的所属组、主组附加组区别和修改方法。
操作步骤
1. 查看当前用户的 UID/GID/组
id
2. 查看指定用户所属组
id www
groups www
3. 只列出组名
groups
4. 看用户主组与附加组
id 输出中 gid 是主组,groups 列出全部附加组。
5. 把用户加入附加组
sudo usermod -aG docker www
-a 追加,-G 指定组,不加 -a 会覆盖原组。
6. 查看所有组列表
cat /etc/group
7. 验证组已加入
id www
常见坑
- usermod -G 忘加 -a,会把用户从其他组移除。
- 新加入的组要重新登录或 newgrp 才生效。
- 主组和附加组混淆,文件属组匹配的是全部组成员。
- groups 和 id 输出本质一致,id 多带 UID/GID。
- 改完组权限未刷新,进程仍按旧组运行。
- 系统内置组别随意删,影响服务。
- 容器里的用户组和宿主机独立。
总结
id 看 UID/GID 与全部组,groups 只列组名。把用户加入组用 usermod -aG,务必带 -a 防止覆盖。改组后重新登录生效,文件权限匹配主组和附加组中的任意一个。
遇到问题加QQ23979811 协助处理