问题

问题

问题

下面的情况怎么可能呢?

$ getent group | grep docker
$ getent group docker
docker:x:600:

请注意,第一个调用不会返回任何内容,而第二个调用则会返回任何内容。

grpck不报告任何问题。

一些背景

这是在我从其他人那里继承的 CentOS 7.6 虚拟机上,所以我不确定它的配置可能与 CentOS 默认值有什么不同。据我所知,VM 以某种方式连接到 LDAP(但我对此不太熟悉……)。

其实我想知道这个docker群体是在哪里定义的。至少它既不是 in/etc/group也不是 in /etc/gshadow

按照评论中的要求:

$ grep ^group /etc/nsswitch.conf
group:      files sss hesiod

答案1

@jeff-schaller 的评论让我走上了正轨:该docker组是在 Hesiod 数据库中定义的:

$ hesinfo docker group
docker:x:600:

正如 @jeff-schaller 和 @stephen-kitt 进一步指出的那样,Hesiod 似乎不允许列出所有组(因此getent group不返回它们),但允许逐一查询它们(因此getent group docker返回团体)。

相关内容