我们的 LDAP 服务器正在运行 RFC 2307 组(memberuid
包含用户名,而不是 DN)。使用我们旧的nscd
//设置,您可以在 LDAP 组的属性中列出非 LDAP 用户(来自 的系统用户)nss_ldap
,pam_ldap
并且该系统用户将成为该组的成员。/etc/passwd
memberuid
但是,在我升级到的机器上固态硬盘,这不再有效:SSSD 只是从成员列表中删除非 LDAP 用户。
我通过以用户身份登录并使用id
以及运行来确认此行为。getent group group
这是我的sssd.conf
(一些细节经过编辑并明确标记)
[sssd]
config_file_version = 2
services = nss, pam
domains = REDACTED.net
[nss]
# defaults are OK
[pam]
# defaults are OK
[domain/REDACTED.net]
enumerate = true
id_provider = ldap
auth_provider = ldap
access_provider = ldap
chpass_provider = ldap
ldap_uri = _srv_
ldap_chpass_uri = ldap://haruhi.REDACTED.net
ldap_search_base = dc=REDACTED,dc=net?subtree?
ldap_schema = rfc2307
ldap_tls_cacert = /usr/local/share/ca-certificates/REDACTED-CA.crt
ldap_id_use_start_tls = true
ldap_pwd_policy = shadow
ldap_access_filter = memberOf=cn=UNIX Users,ou=Policies,dc=REDACTED,dc=net
ldap_access_order = filter, authorized_service, host
ldap_default_bind_dn = uid=haruhi,ou=Machines,dc=REDACTED,dc=net
ldap_default_authtok = VERY_REDACTED
/etc/nsswitch.conf
有 passwd/group/shadow 的无聊条目:
passwd: compat ldap sss
group: compat ldap sss
shadow: compat sss
(ldap 仍然在那里,但它实际上不再安装在系统上)
另外,我怀疑这是否重要(因为我在其他机器上看到了相同的行为),但这台机器 Haruhi 也是主 LDAP 服务器,运行 OpenLDAP。
如何配置 SSSD不是从 LDAP 组中删除系统用户?
答案1
这是在 sssd 1.9.5 中启用的,通过将 sssd.conf 设置为包括:
ldap_rfc2307_fallback_to_local_users = true