当前位置:首页 > Linux

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

canca2年前 (2023-09-24)Linux588

我们之前介绍过如何在 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

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

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/867.html

分享给朋友:

“Linux 中查询某个组中所有用户的三种方法” 的相关文章

在Linux下安装和使用MySQL

一、引言 想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的 MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用…

Determining IP Information for eth0...failed

虚拟机的网络采用NAT方式,始终不能上网,纠结了好几天的问题终于解决了。VM虚拟机中装了redhatlinux9.0,准备与主机共享文件,结果网络不通!       无法激活,在输入ifup eth0后总提示:  &nb…

wget下载文件

一、下载目录#wget -r -np -nd http://example.com/packages/这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。二、下载指定扩展名文件#…

Linux VPS新硬盘分区与挂载教程

通过fdisk -l我们可以看到/dev/xvdb(此名称因系统而异)容量有23.6G,而且没有分区,接下来我们对它进行分区和挂载 (红色字为需要输入的部分,黑色字为系统显示部分) 1.fdisk -l [root@MyVPS ~]# fdisk -l Disk /dev/xvda: 8589 MB…

linux删除乱码文件

一些乱码文件不可以通过普通的rm命令进行管理。可以通过删除i节点的方式删除。[root@192_168_100_35 musicwap]# ls??,?K?k??a*.?J]?k?Φ??P???Z?b?A?R???X??u??.?????*H@B?T???xS*查看乱码文件的i结点[root@192…

crontab命令

crontab命令

前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。