Linux命令:groups
groups 命令基本介绍groups是 Linux 系统中用于显示用户所属用户组的命令。它可以显示当前用户或指定用户所属的所有组。groups是系统管理员和普通用户查看组归属的常用工具。资料合集https://pan.quark.cn/s/6fe3007c3e95、https://pan.quark.cn/s/561de99256a5、https://pan.quark.cn/s/985f55b13d94、https://pan.quark.cn/s/d0fb20abd19a语法groups [OPTIONS] [USERNAME...]常用选项基本选项-h, --help显示帮助信息-V, --version显示版本信息使用示例1. 显示当前用户所属组groups输出示例user adm cdrom sudo dip plugdev lpadmin sambashare2. 显示指定用户所属组groupsusername3. 显示多个用户所属组groupsuser1 user2 user34. 检查用户是否属于某个组groups|grep-qsudoechoUser is in sudo group||echoUser is not in sudo group5. 在脚本中使用#!/bin/bash# 检查当前用户是否属于 sudo 组ifgroups|grep-qwsudo;thenechoUser has sudo accesselseechoUser does not have sudo accessfi输出格式说明成功执行# 输出格式: username : group1 group2 group3 ... user : adm cdrom sudo错误输出示例groups: invalid_user: no such user工作原理groups 执行流程# 1. 用户执行 groups 命令groups# 2. 读取 /etc/group 文件# 3. 查找用户所属的所有组# 4. 输出组列表相关文件文件说明/etc/group用户组信息/etc/passwd用户信息组信息格式getent groupsudo# 输出格式: sudo:x:27:user1,user2,user3实用技巧检查用户组归属#!/bin/bashUSERNAMEjohnGROUPNAMEsudo# 检查用户是否属于指定组ifid-nG$USERNAME|grep-qw$GROUPNAME;thenecho$USERNAMEbelongs to$GROUPNAMEelseecho$USERNAMEdoes not belong to$GROUPNAMEfi获取用户主组# 显示用户主组id-gn# 显示用户主组IDid-g获取用户所有组# 显示所有组名id-nG# 显示所有组IDid-G批量检查用户组#!/bin/bash# 检查多个用户是否属于 sudo 组foruserinalice bob charlie;doifid-nG$user|grep-qwsudo;thenecho$user: has sudo accesselseecho$user: no sudo accessfidone查找属于特定组的用户# 查找 sudo 组的所有成员getent groupsudo|cut-d:-f4# 查找所有属于 sudo 组的用户grep-E^sudo:/etc/group|cut-d:-f4相关命令id显示用户和组ID信息whoami显示当前用户useradd添加用户usermod修改用户信息groupadd添加用户组gpasswd管理组密码和成员getent获取系统数据库条目注意事项权限要求普通用户可以查看自己的组信息系统组某些组是系统自动创建的用于特定用途主组 vs 附属组用户有一个主组和多个附属组组信息来源组信息来自/etc/group文件总结groups是 Linux 系统中用于显示用户所属用户组的工具。它可以显示当前用户或指定用户所属的所有组。groups是系统管理员和普通用户查看组归属的常用工具。

相关新闻