在同时具有本地用户和 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
属性时,可能会发生这种情况 用户可能存在也可能不存在,但用户名确实存在于memberUid
jdoe
PosixGroup
foo
当具有用户名的(不同)用户jdoe
再次添加到 LDAP 数据库时,当您不希望该用户成为foo
.