我是一个新的 Linux 用户,在服务器上创建了几个组。我需要找出名为“ftponly”的组的所有成员。如何在 Linux 或类 Unix 系统上列出组的所有成员?
该/etc/group文件是一个文本文件,定义基于 Linux 和 Unix 的系统上的组。您可以简单地查询此文件来查找并列出组的所有成员。
Linux 显示组命令的所有成员
- /etc/groupfile – 用户组文件
- members command– 列出群组成员
- lid command(或libuser-lid在较新的 Linux 发行版上) – 列出用户的组或组的用户
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 是的 |
要求 | 没有任何 |
美东时间。阅读时间 | 4分钟 |
Linux 中有两种类型的组:
- 主要组 – 是与用户帐户关联的主要组。每个用户都是一个主要组的成员。
- 次要组 – 用于向用户提供附加权限。例如,可以在 cdrom 组的帮助下授予对 DVD/CDROM 驱动器的访问权限。
/etc/groupLinux:使用文件列出组的所有成员
使用grep命令或cat命令/more命令如下:
$ grep 'grpup-name-here' /etc/group
$ grep 'ftponly' /etc/group
$ cat /etc/group
$ less /etc/group
$ grep -i --color 'ftponly' /etc/group
ftponly:x:1001:raj、vivek、archana、sai、sayali
我们还可以键入compgen 命令或 getend 命令来列出 Linux 上的所有组名称:
要仅获取名为 的组的所有成员的列表,请键入以下 awk 命令:
$ compgen -g
$ getent group
ftponly
awk -F ':' '/ftponly/{print $4}' / etc / group # 列出linux中sudo组的所有成员 # awk -F ':' '/sudo/{print $4}' / etc / group
显示每个 Linux 用户的组成员身份
想要查看 Linux 下每个给定用户名的组成员身份吗?groups 命令的语法如下:
以下输出表明名为“vivek”的用户是包括“vivek”主组在内的四个组的一部分:
groups
groups {USERNAME}
groups vivek
vivek : vivek 轮 lxd vboxusers
membersLinux 使用命令列出组的所有成员
警告: 大多数 Linux 发行版上都没有安装members 命令。使用百胜命令或者apt-get 命令/apt命令安装相同的:
$ sudo apt-get install members
要输出名为 ftponly 的组的成员,请输入:
$ members {GROUPNAME}
$ members ftponly
![图 01:Linux 上的成员命令显示组命令的所有成员](https://www.alaica.com/wp-content/uploads/linux-26.jpg)
图 01:成员命令用于列出组中的成员
在此示例中,members 命令在屏幕上显示以空格分隔的组成员名称列表。
如何使用lid命令列出 Linux 组中的所有用户
您可以使用lid命令显示有关包含用户名的组或组名中包含的用户的信息,如下所示。
警告: 大多数发行版上都没有安装lid 命令。使用百胜命令或者apt-get 命令安装相同的:
$ sudo apt-get install libuser
要查看名为“ftponly”的组中包含的用户:
# lid -g ftponly
请注意,新版本的 libuser 将lid命令重命名为libuser-lid. 因此,请按如下方式使用它:
$ sudo libuser-lid -g ftponly
示例输出:
拉吉(uid = 1001) 维维克(uid=1002) 阿卡纳(uid=1003) 赛(uid = 1004) 萨亚利(uid=1005)
显示有关包含名为“example”的用户的组的信息:
在 Linux 上使用lit 命令或 libuser-lid 命令显示名为 example 的组的所有成员:
# lid example
或
$ sudo libuser-lid example
示例输出:
管理员(gid=4) CDROM(gid=24) 须藤(gid=27) 浸(gid=30) 插头开发(gid=46) lpadmin(gid=109) 示例(gid=1000) sambashare(gid=124)
有关详细信息,请参阅 lit 命令手册页。
如何在 Linux 中列出组
要查看所有用户,请运行 less 命令/more 命令:
less /etc/group
或者
more /etc/group
另一种选择是键入以下 getent 命令:
getent group
例如,找到名为 vboxusers 的组的成员,运行:
getent group vboxusers
指示 vivek 和 raj 用户属于 vboxusers 的示例输出团体:
vboxusers:x:976:vivek,raj
最后,您可以使用id 命令来显示真实有效的用户和组 ID:
id
id vivek
id -nG raj # show all group IDs for raj user
id -ng raj # show only effective group ID for raj user
结论
现在您知道如何使用各种 Linux 命令来显示组的所有成员。我建议您通过键入以下 man 命令来阅读手册页以获取更多信息:
$
$