如何在 Linux 中列出某个组的所有用户 [3 种简单方法]
想知道哪些用户是特定组的成员?本教程向您展示了在 Linux 命令行中列出组中所有用户的三种简单方法。
我已经向您展示了在 Linux 命令行中列出所有用户。这个快速提示与此相关但又有所不同。
我想您对 Linux 中的组和用户的概念有点熟悉。 Linux系统中有多个组和多种用户。一个组可以有多个成员,而一个用户可以是多个组的成员。
您可以检查特定用户属于哪些组,还可以查找组中的所有用户。
列出Linux中某个组的所有用户
在本快速教程中,我将向您展示在 Linux 命令行中列出组中用户的不同方法。
1.使用/etc/group文件列出Linux中的组成员
组信息包含在文件 /etc/group 中。您可以查看该文件的内容并查找有关成员的信息。
通常,该文件具有以下格式的条目:
adm:x:4:syslog,abhishek
下面是各个字段的解释:
adm 是组名
x 代表密码字段(当然你不会看到明文密码)
4 是组 ID,也称为 GID
syslog 和 abhishek 是属于 adm 组的用户
如果您发现手动搜索文件中的组很困难,可以使用 grep 命令和 cut 命令的组合。
grep '^group_name:.*$' /etc/group | cut -d: -f4
上面的命令查找以指定组名称开头的所有行,然后 cut 命令提取以 : 分隔符分隔的第四列。结果只是组成员的名字。
grep '^adm:.*$' /etc/group | cut -d: -f4
syslog,abhishek
2. Linux中使用getent命令列出组成员
getent 是一个多用途命令,用于从 /etc 目录中的数据库文件进行查询。因此可以使用它来查询/etc/group文件并获取指定组的用户,方式如下:
getent group group_name
这将显示与组名称匹配的行,在这里您可以看到该组的成员:
getent group sudo
sudo:x:27:abhishek
3. 使用“members”命令列出组中的用户
有一个小型命令行工具可以简化列出特定组的所有成员的过程。
members 命令通常不会安装在所有系统中,因此您必须自行安装。
在基于 Debian/Ubuntu 的系统上,您可以使用以下命令安装它:
sudo apt install members
如果在 Ubuntu 中找不到该命令,您应该启用 Universe 存储库并重试。
安装命令后,您可以像这样运行它:
members group_name
例如,如果您想检查哪些用户具有 sudo 访问权限,您可以使用 Members 命令,如下所示:
members sudo
输出将列出 sudo 组的所有用户。
members sudo
abhishek
就是这样......
看,获取属于某个组的用户绝对是简单的。您学会了三种方法。
您最喜欢哪种方法?或者,您是否使用其他方式列出 Linux 中的组成员?为什么不在这里与我们分享呢?