我正在使用getent group
命令获取groups
以及linux
中的用户名。但它并没有显示我知道存在的usernames
groups
个root:x:0:
bin:x:1:bin,daemon
。
我需要这个信息还有其他方法吗?
领取前两个结果: -
{{1}}
如您所见,组根中没有用户,bin组中没有2个用户。我知道根组包含一个用户root,但它现在显示在这里。
答案 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