如何在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