小知识:Linux 中查询某个组中所有用户的三种方法

%小知识:Linux 中查询某个组中所有用户的三种方法-猿站网-插图

我们之前介绍过如何在 Linux 中列出所有用户,今天我们分享的内容与之类似,如何在列出某个组中的所有用户。

大家应该都知道组和用户的概念,在Linux中可以有多个组和用户,一个组中包含多个用户,一个用户也可以是多个组的成员。我们可以查询某个用户所属的组,也可以查询组中所有的用户。

以下为查找组中所有用户的三种方法。

1、利用 /etc/group 文件列出组中的用户

Linux 系统中组的信息包含在 /etc/group 文件中,所以我们可以通过查看此文件中的内容来查看组成员的信息。

通常,该文件有如下格式的内容:

adm:x:4:syslog,gliu

以下为各字段的说明:

adm 为组名称; x 代表密码字段(当然你不会看到明文的密码); 4 是组的ID即GID; syslog 和 gliu 是属于组 adm 中的用户。

如果你觉着手动查看文件内容比较麻烦,可以 借助 grep 和 cut 命令来搜索文件内容:

grep ^group_name:.*$ /etc/group | cut -d: -f4

上面的命令查找以指定组名称开头的所有行,然后 cut 命令提取以冒号 : 分割的第四列,其结果就是组成员的名称:

grep ^adm:.*$ /etc/group | cut -d: -f4 syslog,gliu

2、使用 getent 命令列出Linux中的组成员

getent 是个多用途的命令,用于查询 /etc 目录中的数据库文件,因此我们可以使用它来查询 /etc/group 文件,并按以下方式获取指定组的用户:

getent group group_name

这样将会现实与组名称匹配的行,即组的成员:

getent group sudo sudo:x:27:gliu

3,使用 members 命令列出组中的用户

有一个很简洁的命令行工具即 members 命令,可以列出特定组中所有成员,这个操作过程也很简单。

不过通常情况下,members 命令不会默认安装在所有系统中,因此我们需要手动安装:在基于 Debian/Ubuntu 的系统上,可以使用以下命令进行安装:

sudo apt install members

如果在 Ubuntu 中找不到该命令,则需要启用 universe 存储库并重试。关于 Ubuntu 中存储库的启用禁用,可参考:

https://itsfoss.com/ubuntu-repositories/

命令安装完成后,就可以按如下方式运行:

members group_name

比如,要查看哪些用户具有 sudo 访问权限,可以按如下方式使用 members 命令:

members sudo

这样将会列出 sudo 组中所有的用户:

$ members sudo gliu

以上就是本次分享的列出组中所有用户的三种方法。

原文地址:https://mp.weixin.qq.com/s/Hf6ceDESIuEVvIx0MgKI7w

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux利用inotify和rsync服务实现数据实时同步的原理解析

2023-3-14 7:55:22

建站知识

小知识:一文看得 Linux 性能分析(perf原理)

2023-3-14 8:11:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索