我们之前介绍过如何在 Linux 中列出所有用户,今天我们分享的内容与之类似,如何在列出某个组中的所有用户。
大家应该都知道组和用户的概念,在Linux中可以有多个组和用户,一个组中包含多个用户,一个用户也可以是多个组的成员。我们可以查询某个用户所属的组,也可以查询组中所有的用户。
以下为查找组中所有用户的三种方法。
1,利用 etc/group 文件列出组中的用户
Linux 系统中组的信息包含在 /etc/group 文件中,所以我们可以通过查看此文件中的内容来查看组成员的信息。
通常,该文件有如下格式的内容:
adm:x:4:syslog,gliu
以下为各字段的说明:
adm 为组名称;
x 代表密码字段(当然你不会看到明文的密码);
4 是组的ID即GID;
syslog 和 gliu 是属于组 adm 中的用户。
grep '^group_name:.*$' etc/group | cut -d: -f4
上面的命令查找以指定组名称开头的所有行,然后 cut 命令提取以冒号 : 分割的第四列,其结果就是组成员的名称:
grep '^adm:.*$' etc/group | cut -d: -f4syslog,gliu
2,使用 getent 命令列出Linux中的组成员
getent group group_name
getent group sudosudo:x:27:gliu
3,使用 members 命令列出组中的用户
有一个很简洁的命令行工具即 members 命令,可以列出特定组中所有成员,这个操作过程也很简单。
不过通常情况下,members 命令不会默认安装在所有系统中,因此我们需要手动安装:
sudo apt install members
https://itsfoss.com/ubuntu-repositories/
members group_name
比如,要查看哪些用户具有 sudo 访问权限,可以按如下方式使用 members 命令:
members sudo
这样将会列出 sudo 组中所有的用户:
$ members sudogliu
以上就是本次分享的列出组中所有用户的三种方法,欢迎讨论。
文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




