Estoy tratando de descubrir cómo estructurar mi ldap y/o configurar sssd para leer la membresía de grupos anidados.
Algo como esto funciona para la membresía normal de un grupo:
DN: cn=server-admins,ou=Groups,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
memberUid userName1
memberUid userName2
y el sssd.conf haciendo algo como:
[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
si id userName1
obtengo la server-admins
membresía y puedo iniciar sesión con ese usuario.
Sin embargo, lo que me gustaría hacer es algo como esto:
DN: cn=server-admins,ou=Groups,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
member cn=jobTitleGroup1,ou=Roles,dc=example,dc=com
Luego, la membresía de jobTitleGroup1
contiene a las personas:
DN: cn=jobTitleGroup1,ou=Roles,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
memberUid userName1
memberUid userName2
El problema es que sssd solo parece reconocer el atributo memberUid y no parece ver/buscar la membresía del grupo anidado de jobTitleGroup1
.
Así que no sé cómo crear grupos anidados y/o no sé cómo hacer que sssd lea la membresía de grupos anidados. Cualquier ayuda sería apreciada.
Respuesta1
Dos semanas después, encontré la respuesta. El problema eran dos cosas, una de las cuales se debía a la primera.
El primer problema fue que debido a que configuré ldap con el esquema rfc2307bis, mis grupos usan groupOfNames y el atributo "miembro".
Sin embargo, sssd no reconocía la membresía a menos que usara "memberUid". El memberUid fue el segundo problema.
en sssd.conf bajo dominio/predeterminado necesitaba lo siguiente:
[domain/default]
ldap_schema = rfc2307bis
ldap_group_object_class=groupOfNames
ldap_group_member=member
entonces mi grupo de permisos podría ser:
DN: cn=server-admins,ou=Groups,dc=example,dc=com
groupOfNames (structural)
posixGroup (auxiliary)
member cn=jobTitleGroup1,ou=Roles,dc=example,dc=com
y mi grupo de roles podría ser:
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