SSSD、openLDAP 和嵌套组

SSSD、openLDAP 和嵌套组

我正在尝试弄清楚如何构建我的 ldap 和/或配置 sssd 以读取嵌套组的成员资格。

对于普通团体成员来说,类似这样的方法有效:

DN: cn=server-admins,ou=Groups,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
memberUid userName1
memberUid userName2

并且 sssd.conf 执行以下操作:

[sssd]
config_file_version = 2
domains = default
services = nss, pam
full_name_format = %1$s

[domain/default]
debug_level = 2
id_provider = ldap
auth_provider = ldap
cache_credentials = True
ldap_uri = ldaps://ldapserver:636
ldap_search_base = dc=example,dc=com
# start searching here
ldap_user_search_base = ou=People,dc=example,dc=com
# search these people
ldap_group_search_base = ou=Groups,dc=example,dc=com
ldap_group_nesting_level = 10
simple_allow_groups = server-admins

如果我id userName1获得server-admins会员资格并可以以该用户身份登录。

然而,我想做的是这样的:

DN: cn=server-admins,ou=Groups,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
member cn=jobTitleGroup1,ou=Roles,dc=example,dc=com

然后拥有jobTitleGroup1包含以下人员的会员资格:

DN: cn=jobTitleGroup1,ou=Roles,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
memberUid userName1
memberUid userName2

问题是 sssd 似乎只识别 memberUid 属性,并且似乎没有看到/搜索嵌套的组成员身份jobTitleGroup1

所以我不知道如何创建嵌套组,和/或不知道如何让 sssd 读取嵌套组的成员身份。如能得到任何帮助,我将不胜感激。

答案1

两周后,我找到了答案。问题出在两个方面,其中之一是由于第一点。

第一个问题是,由于我使用 rfc2307bis 模式配置了 ldap,所以我的组正在使用 groupOfNames 和“member”属性。

但是,除非我使用“memberUid”,否则 sssd 无法识别成员身份。memberUid 是第二个问题。

在 domain/default 下的 sssd.conf 中我需要以下内容:

[domain/default]
ldap_schema = rfc2307bis
ldap_group_object_class=groupOfNames
ldap_group_member=member

那么我的权限组可能是:

DN: cn=server-admins,ou=Groups,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
member cn=jobTitleGroup1,ou=Roles,dc=example,dc=com

我的角色组可能是:

DN: cn=jobTitleGroup1,ou=Roles,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
member uid=userName1,ou=People,dc=example,dc=com
member uid=userName2,ou=People,dc=example,dc=com

相关内容