3

我正在使用getent group命令来获取groups其中的用户名linux。但它没有显示任何usernamesgroups知道存在的东西。

我需要这个信息还有其他方法吗?

获得第一个两个结果:-

root:x:0: 
bin:x:1:bin,daemon

如您所见,组 root 没有用户,bin 组中有 2 个用户。我知道根组包含一个用户根,但它现在在这里显示。

4

2 回答 2

9

您缺少的是每个用户都有一个主要组,该组存储在/etc/passwd(通常在字段 4 中),并且可能有一个或多个补充组。只有补充组关联在 中/etc/group,因此,是唯一getent group会显示的关联。为了获取特定用户的整个组列表,您可以使用id -a <user>,但您必须在用户列表上进行迭代以获得完整的信息转储...

于 2013-06-14T14:42:58.957 回答
2

你能运行:

getent group|diff /etc/group - 

并向我们​​展示其输出的差异,

因为我已经运行了这个,我看不出它们两者完全一样

getent 只会返回主组名称,而不是用户所属的子组:

getent group adm
adm:x:4:me,logcheck

要在 getent 中获取任何 adm 实例,请尝试:

getent group|grep adm
于 2013-06-14T12:12:32.563 回答