Linux groups 命令:如何查看用户所属的组
创建时间 2026-09-27
最后修改 2026-10-28
groups 命令显示当前用户或指定用户所属的组名。检查共享文件的访问权限时,可以用它查看用户的组成员资格。
不带参数时,groups 显示当前进程的组列表;指定用户名时,它查询该账户所属的组。如果还需要数字形式的组 ID 和更详细的信息,可以使用 id。
基本语法
groups [用户 ...]
不同发行版的实现和选项可能不同。请使用 man groups 查看当前系统的说明。
使用示例
运行以下命令,检查当前会话中生效的组:
groups
要查询指定账户,请将 alice 替换为需要检查的用户名:
groups alice
要同时查看用户和组的数字 ID 及名称,请运行:
id alice
理解输出与访问权限
查询名为 alice 的账户时,输出可能如下:
alice : alice sudo
冒号前是查询的账户,后面是该账户所属的组。实际组名和输出格式可能不同。属于某个组并不一定意味着可以访问所有路径:上级目录的权限和访问控制列表(access control list,ACL)也会影响访问结果。
为什么账户和当前会话的组可能不同?
groups alice 查询指定账户的组,而不带参数的 groups 显示当前进程的组。如果刚刚更改组成员资格,已经运行的会话可能尚未应用更改。可以比较不带参数的 groups 和 id 输出,必要时退出并重新登录。
GNU 选项与文档
在 GNU 实现中,groups --help 显示简要帮助,groups --version 显示版本。有关详细行为,请参阅 GNU groups 命令文档。
