用户在组中列出,但不在 getent passwd 中

用户在组中列出,但不在 getent passwd 中

在同时具有本地用户和 LDAP 用户的特定计算机上,下面列出了一个用户getent group foo(假设该用户jdoe已列出),但执行此操作时getent passwd jdoe我没有得到任何输出。尝试sudo su jdoe也没有效果。

使用该命令,members -t foo我发现该用户仅被列为该组的次要成员,尽管我不确定这是否相关。

有谁知道我如何才能找到这个看似不存在的用户是如何进入这个用户组的?需要澄清的是,列出的用户与系统用户没有任何关系,并且它似乎没有在本地创建的用户下的任何地方列出。

可能存在的情况:这是否可能是由以前拥有名为 的用户帐户的人引起的jdoe,该用户的帐户此后已被重命名或删除?如果是这样,我怎样才能找到这个?

这是我的/etc/nsswitch.conf

passwd:         compat ldap systemd
group:          compat ldap systemd
shadow:         compat ldap

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

这几乎是包含 LDAP 的默认配置。

答案1

当 LDAP 数据库具有带有值的 withPosixGroup foo属性时,可能会发生这种情况 用户可能存在也可能不存在,但用户名确实存在于memberUidjdoePosixGroup foo

当具有用户名的(不同)用户jdoe再次添加到 LDAP 数据库时,当您不希望该用户成为foo.

相关内容