基于 KDC 和 OpenLDAP 的 SSSD?

基于 KDC 和 OpenLDAP 的 SSSD?

我已经安装了一个由 OpenLDAP 实例支持的 MIT KDC 实例,全部在 RHEL 7 上运行。我想配置 SSSD 以从这个组合中提取用户和组,但我遇到了很多问题,因为大多数文档都假设使用 AD。

我现在遇到的问题是,从日志来看,SSSD 似乎需要每个用户的某种数字 ID,它会使用该 ID 在本地创建 UID。问题是,KDC 似乎根本没有将其存储在 LDAP 中。我还注意到 KDC 仅存储完整的主体([电子邮件保护]),这意味着当我尝试仅以用户名登录时,我没有任何字段可以指向 SSSD 使用。

有没有办法让 KDC 在 LDAP 中存储更多信息,或者有没有办法让 SSSD 利用我们已有的信息?

此外,如果能提供任何有关建立此类连接的文档,我们将非常感激。

SSSD 配置:

[sssd]
services = nss, pam
domains = DOMAIN.COM
debug_level = 10

[nss]
debug_level = 10

[pam]
debug_level = 10

[domain/DOMAIN.COM]
debug_level = 10
id_provider = ldap
auth_provider = krb5
access_provider = ldap
chpass_provider = krb5
dyndns_update = False
realmd_tags = manages-system joined-with-samba
cache_credentials = False
enumerate = False
entry_cache_timeout = 86400
min_id = 1000000
default_shell = /bin/bash
fallback_homedir = /home/%u@%d
use_fully_qualified_names = True

#LDAP Configuration
ldap_uri = ldap://ldapserver:389
ldap_search_base = dc=domain,dc=com
ldap_user_search_base = dc=domain,dc=com
ldap_group_search_base = dc=domain,dc=com
ldap_id_mapping = True
ldap_idmap_range_min = 100000
ldap_idmap_range_max = 2000100000
ldap_idmap_range_size = 2000000000
ldap_idmap_default_domain = <DOMAIN>
ldap_access_filter = &(objectClass=krbPrincipal)
ldap_user_object_class = krbPrincipal
ldap_user_name = krbPrincipalName
ldap_user_principal = krbPrincipalName
ldap_user_fullname = krbPrincipalName
ldap_user_uid_number = krbPrincipalName
ldap_user_objectsid = krbPrincipalName

#KRB5 Configuration
krb5_server = kdc_server
krb5_realm = DOMAIN.COM

样本条目:

dn: [email protected],cn=DOMAIN.COM,cn=kerberos,dc=domain,dc=com
ufn: [email protected], DOMAIN.COM, kerberos, DOMAIN.com
krbLoginFailedCount: 0
krbPrincipalName: [email protected]
krbPrincipalKey:: ...
krbLastPwdChange: 20190524234020Z
krbExtraData:: ...
krbExtraData:: ...
objectClass: krbPrincipal
objectClass: krbPrincipalAux
objectClass: krbTicketPolicyAux

答案1

因此,我从来没有找到一个好的答案,但我能够解决这个问题,并想为偶然发现这个问题的谷歌用户发布这个答案。

我最终基本上只是使用 OpenLDAP 和 KDC,就好像它们是完全分开的一样。为了方便起见,我保留了 KDC 由 LDAP 支持,但我不再使用这个事实了。相反,当我们添加用户时,我会分别在 KDC 和 LDAP 中添加它。然后我将 SSSD 指向 LDAP 区域,在那里我手动添加用户,但仍然使用 KDC 进行身份验证。它似乎运行良好,尽管到目前为止我遇到了一些小故障。

如果有人对上述问题有真正的解决方案,我仍然很高兴听到!

相关内容