来自 LDAP 的组:“getent”正确报告成员身份,但在“id”的输出中缺失

来自 LDAP 的组:“getent”正确报告成员身份,但在“id”的输出中缺失

我有一台 Debian 10 机器,它使用 PAM LDAP 进行身份验证。在 LDAP 中,我有两个用户alicebob它们都是 group 的成员mygroup。一切都工作正常(所以配置应该不会太远),直到我最近发现我的组有一些奇怪的地方(不确定发生了什么):

  • ldapsearch将用户报告alice为组的成员mygroup(理应如此)。
  • getent group将用户显示alice为组的成员mygroup(理应如此)。
    root@tux:~# getent group | grep mygroup
    mygroup:*:1210:alice,bob
    
  • id不是报告alice成为团体成员mygroup
    root@tux:~# id alice
    uid=1200(alice) gid=1200(alice) groups=1200(alice)
    
  • 令人惊讶的是,据报道有足够多的用户bob是以下组织的成员mygroup
    root@tux:~# id bob
    uid=1201(bob) gid=1201(bob) groups=1210(mygroup),1201(bob)
    

到目前为止,我认为getent和都id从名称服务交换库(NSS)获取信息。我很困惑,希望得到一些如何排除故障的提示。

答案1

对于 LDAP 的某些实现,不仅需要定义组的成员,还需要定义用户所属的组。 (其中一个并不暗示另一个 - 两种关系都必须明确说明。)

查看 LDAP 记录爱丽丝鲍勃,他们是否显示组成员资格?如果是这样,请检查爱丽丝鲍勃确实都是 mygroup 的成员。

同样,看看我的组,并确认爱丽丝鲍勃都是它的成员。

相关内容