Как я могу сделать sssd
искать членство в группах во всех настроенных доменах?
В приведенной ниже конфигурации и alice (@bar), и bob (@foo) должны быть членами testgroup (@bar). Однако sssd считает только Алису членом тестовой группы.
Глядя на захват tcpdump, кажется, что Алиса ищет только (&(&(member=uid=alice,ou=users,dc=bar,dc=example,dc=com)(objectClass=posixGroup))(cn=*))
в рамках ou=groups,dc=bar,dc=example,dc=com
и боб ищет только (&(&(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
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 не поддерживает междоменное членство между двумя разными разделами [домен]. Однако, если ваш сервер - AD, вы можете просто использовать id_provider = ad, тогда группы с универсальной областью видимости должны быть разрешены с помощью sssd.