sssd可以提供跨域组成员身份吗?

我如何在所有configuration的域中进行sssdsearch组成员身份?

给定下面的configuration,alice(@bar)和bob(@foo)应该是testgroup(@bar)的成员。 但是,只有爱丽丝被sssd认为是testgroup的成员。

看一个tcpdump捕获它看起来,爱丽丝只search(&(&(member=uid=alice,ou=users,dc=bar,dc=example,dc=com)(objectClass=posixGroup))(cn=*))范围内ou=groups,dc=bar,dc=example,dc=com和bob只search(&(&(member=uid=bob,ou=users,dc=foo,dc=example,dc=com)(objectClass=posixGroup))(cn=*))在范围内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

 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不支持两个不同[域]节之间的跨域成员关系。 但是,如果您的服务器是AD,那么您可以使用id_provider = ad,那么通用范围的组应该可以用sssd解决。