Openldap

sssd可以提供跨域組成員嗎?

  • August 17, 2016

如何sssd在所有配置的域中搜尋組成員身份?

根據下面的配置,alice(@bar) 和 bob(@foo) 都應該是 testgroup(@bar) 的成員。但是,只有 alice 被 sssd 視為 testgroup 的成員。

查看 tcpdump 擷取,似乎 alice 僅(&(&(member=uid=alice,ou=users,dc=bar,dc=example,dc=com)(objectClass=posixGroup))(cn=*))在 scope 內搜尋ou=groups,dc=bar,dc=example,dc=com,而 bob 僅(&(&(member=uid=bob,ou=users,dc=foo,dc=example,dc=com)(objectClass=posixGroup))(cn=*))在 scope 內搜尋ou=groups,dc=foo,dc=example,dc=com

如何更改 sssd(或我的 OpenLDAP 後端)的行為以允許跨域成員身份?

dn: cn=testgroup,ou=groups,dc=bar,dc=example,dc=com
objectClass: groupOfNames
objectClass: posixGroup
cn: testgroup
gidNumber: 54321
member: uid=alice,ou=users,dc=bar,dc=example,dc=com
member: uid=bob,ou=users,dc=foo,dc=example,dc=com


[sssd]
config_file_version = 2
services = nss, pam, autofs
domains = FOO.EXAMPLE.COM, BAR.EXAMPLE.COM

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[autofs]

[domain/FOO.EXAMPLE.COM]
id_provider = ldap
auth_provider = krb5
chpass_provider = krb5
ldap_uri = _srv_
ldap_search_base = dc=foo,dc=example,dc=com
ldap_user_search_base = ou=users,dc=foo,dc=example,dc=com?onelevel?
ldap_group_search_base = ou=groups,dc=foo,dc=example,dc=com?onelevel?
ldap_schema = rfc2307bis
ldap_sasl_mech = GSSAPI
krb5_realm = FOO.EXAMPLE.COM

ldap_autofs_entry_key = automountKey
ldap_autofs_map_name = automountMapName
ldap_autofs_search_base = ou=automount,dc=foo,dc=example,dc=com

[domain/BAR.EXAMPLE.COM]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = _srv_
ldap_search_base = dc=bar,dc=example,dc=com
ldap_user_search_base = ou=users,dc=bar,dc=example,dc=com?onelevel?
ldap_group_search_base = ou=groups,dc=bar,dc=example,dc=com?onelevel?
ldap_schema = rfc2307bis
ldap_sasl_mech = GSSAPI

ldap_autofs_entry_key = automountKey
ldap_autofs_map_name = automountMapName
ldap_autofs_search_base = ou=automount,dc=bar,dc=example,dc=com

ldap_*_search_base在一個域中使用多個s。

ldap_user_search_base = ou=users,dc=bar,dc=example,dc=com?onelevel??ou=users,dc=foo,dc=example,dc=com?onelevel?
ldap_group_search_base = ou=groups,dc=bar,dc=example,dc=com?onelevel??ou=groups,dc=foo,dc=example,dc=com?onelevel?

SSSD 不支持兩個不同的跨域成員資格

$$ domain $$節。但是,如果您的伺服器是 AD,那麼您可以只使用 id_provider=ad,那麼通用範圍的組應該可以使用 sssd 進行解析。

引用自:https://serverfault.com/questions/797235