如何在Linux中列出一个组的所有用户
时间:2020-03-05 15:28:49 来源:igfitidea点击:
Linux系统中有几个组和各种用户。
一个组可以具有多个成员,而用户可以是几个组的成员。
我们可以检查特定用户所属的组,我们还可以找到组的所有用户。
列出Linux中的所有用户的用户
在此快速教程中,我将向我们显示不同的方法来列出Linux命令行中的组中的用户。
1.使用/etc/group文件列出Linux中的组成员
组信息包含在文件/etc/group中。
我们可以查看此文件的内容,并查找成员的信息。
通常,此文件具有以下格式的条目:
adm:x:4:syslog,igi
这是对该字段的解释:
- ADM是集团名称
- X表示密码字段(当然,我们将无法在清晰的文本中看到密码)
- 4是oc id aka gid
- Syslog和igi是属于ADM组的用户
如果我们发现在困难中的文件中搜索组的手动搜索,则可以使用Grep命令和Cut命令的组合。
grep '^group_name:.*$' /etc/group | cut -d: -f4
上面的命令查找以指定的组名称开头的所有行,然后CUT命令提取第四列与:分隔符分隔。
结果只是小组成员的名称。
grep '^adm:.*$' /etc/group | cut -d: -f4 syslog,igi
2.使用Getent命令列出Linux中的组成员
GetEtent是一种多功能命令,用于从/etc目录中的数据库文件查询。
因此,我们可以使用它来查询/etc/group文件并以下列方式获取指定组的用户:
getent group group_name
这将显示与组名称匹配的行,在此处可以看到该组的成员:
getent group sudo sudo:x:27:igi
3.使用"会员"命令列出组中的用户
有一个小型命令行工具,简化了列出特定组的所有成员的过程。
成员命令通常未安装在所有系统中,因此我们必须自己安装它。
在基于Debian/Ubuntu的系统上,我们可以使用以下命令安装它:
sudo apt install members
如果在Ubuntu中找不到该命令,则应启用Universe存储库并再次尝试。
安装了命令后,我们可以像这样运行:
members group_name
例如,如果要检查哪些用户有sudo访问权限,则可以使用这样的成员命令:
members sudo
输出将列出sudo组的所有用户。
members sudo igi