Linux命令'getent group'没有返回某些组的用户?

时间:2013-06-14 11:08:55

标签: linux

我正在使用getent group命令获取groups以及linux中的用户名。但它并没有显示我知道存在的usernames groupsroot:x:0: bin:x:1:bin,daemon

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

领取前两个结果: -

{{1}}

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

2 个答案:

答案 0 :(得分:9)

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

答案 1 :(得分:1)

你能不能跑:

getent group|diff /etc/group - 

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

因为我已经运行了这个并且我认为两者完全相同没有区别

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

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

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

getent group|grep adm