groups命令用于显示用户所属的用户组,直接运行可查看当前用户组,如groups alice输出其主组和附加组;主组为默认文件归属组,附加组扩展权限,如docker组免sudo运行Docker,sudo组执行管理命令;可通过groups username查看指定用户组信息;相比id命令显示UID/GID更详细,groups简洁适用于快速权限检查。

在linux系统中,groups命令用于显示用户所属的所有用户组。这个命令简单但实用,尤其在管理权限、排查访问问题时非常有用。
基本用法
直接运行 groups 命令,不带任何参数,会显示当前用户的所属组:
groups
输出示例:
alice : alice users docker sudo
这表示用户 alice 属于 alice(主组)、users、docker 和 sudo 组。
查看指定用户的组
你可以通过在命令后加上用户名,查看其他用户的组信息:
groups bob
输出可能为:
bob : bob users apache
说明 bob 用户属于 bob、users 和 apache 组。
理解输出内容
输出中的第一个组通常是用户的主组(primary group),其余的是附加组(supplementary groups)。文件创建时默认归属主组,而附加组用于扩展权限,比如访问特定设备或服务。
例如,若用户属于 docker 组,则无需 sudo 就能运行 Docker 命令;属于 sudo 组则通常可执行管理员命令。
与其他命令对比
groups 是最简洁的查看方式。类似的命令还有:
- id:显示用户和组的UID/GID,更详细
- whoami:仅显示当前用户名
- getent group groupname:查看某个组包含哪些用户
比如使用 id 命令:
id alice
会输出 UID、GID 和所有组名,适合脚本处理。
基本上就这些。groups 命令虽小,但在日常运维和权限检查中很实用,记住它能帮你快速了解用户权限上下文。


