libpam-ldapd no busca grupos secundarios

libpam-ldapd no busca grupos secundarios

estoy migrando delibpam-ldapalibpam-ldapd. Tengo problemas para reunir los grupos secundarios de LDAP.

Enlibpam-ldap, tenía esto en el /etc/ldap.confarchivo:

nss_schema rfc2307bis
nss_base_passwd ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es
nss_base_shadow ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es
nss_base_group ou=Grupos,ou=CITIUS,dc=inv,dc=usc,dc=es
nss_map_attribute miembro miembro único

El mapeo está ahí porque estoy usando groupOfNamesen lugar de groupOfUniqueNamesla clase LDAP para grupos, por lo que el atributo que nombra a los miembros se nombra memberen lugar de uniqueMember.

Ahora quiero hacer lo mismo usandolibpam-ldapdpero no consigo hacerlo funcionar. Aquí está la parte relevante de mi /etc/nslcd.conf:

contraseña base ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es
sombra base ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es
grupo base ou=Grupos,ou=CITIUS,dc=inv,dc=usc,dc=es
miembro del grupo de mapas miembro único

Y este es el resultado de depuración de nslcd, cuando se autentica un usuario:

nslcd: [8b4567] DEPURACIÓN: conexión desde pid=12090 uid=0 gid=0
nslcd: [8b4567] DEPURACIÓN: nslcd_passwd_byuid(4004)
nslcd: [8b4567] DEBUG: myldap_search(base="ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es", filter="(&(objectClass=posixAccount)(uidNumber=4004))" )
nslcd: [8b4567] DEPURACIÓN: ldap_initialize(ldap://172.16.54.31/)
nslcd: [8b4567] DEPURACIÓN: ldap_set_rebind_proc()
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_TIMELIMIT,10)
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_TIMEOUT,10)
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,10)
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [8b4567] DEPURACIÓN: ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [8b4567] DEBUG: ldap_simple_bind_s("uid=ubuntu,ou=Aplicaciones,ou=CITIUS,dc=inv,dc=usc,dc=es","*****") (uri="ldap:/ /172.16.54.31/")
nslcd: [8b4567] conectado al servidor LDAP ldap://172.16.54.31/
nslcd: [8b4567] DEPURACIÓN: ldap_result(): fin de los resultados
nslcd: [7b23c6] DEPURACIÓN: conexión desde pid=15906 uid=0 gid=2000
nslcd: [7b23c6] DEPURACIÓN: nslcd_pam_authc("jorge.suarez","","su","***")
nslcd: [7b23c6] DEBUG: myldap_search(base="ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es", filter="(&(objectClass=posixAccount)(uid=jorge.suarez) )")
nslcd: [7b23c6] DEPURACIÓN: ldap_initialize(ldap://172.16.54.31/)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_rebind_proc()
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_TIMELIMIT,10)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_TIMEOUT,10)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,10)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [7b23c6] DEBUG: ldap_simple_bind_s("uid=ubuntu,ou=Aplicaciones,ou=CITIUS,dc=inv,dc=usc,dc=es","*****") (uri="ldap:/ /172.16.54.31/")
nslcd: [7b23c6] conectado al servidor LDAP ldap://172.16.54.31/
nslcd: [7b23c6] DEPURACIÓN: ldap_initialize(ldap://172.16.54.31/)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_rebind_proc()
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_TIMELIMIT,10)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_TIMEOUT,10)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,10)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [7b23c6] DEPURACIÓN: ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [7b23c6] DEBUG: ldap_simple_bind_s("uid=jorge.suarez,ou=People,ou=CITIUS,dc=inv,dc=usc,dc=es","*****") (uri="ldap ://172.16.54.31/")
nslcd: [7b23c6] conectado al servidor LDAP ldap://172.16.54.31/
nslcd: [7b23c6] DEBUG: myldap_search(base="uid=jorge.suarez,ou=People,ou=CITIUS,dc=inv,dc=usc,dc=es", filter="(objectClass=posixAccount)")
nslcd: [7b23c6] DEPURACIÓN: ldap_unbind()
nslcd: [3c9869] DEPURACIÓN: conexión desde pid=15906 uid=0 gid=2000
nslcd: [3c9869] DEBUG: nslcd_pam_sess_o("jorge.suarez","uid=jorge.suarez,ou=Personas,ou=CITIUS,dc=inv,dc=usc,dc=es","su","/dev /pts/7","jorge.suarez")

Me parece que ni siquiera intentará buscar grupos. ¿Que estoy haciendo mal? No puedo ver nada relevante a la información de mi problema enlos documentos. Probablemente no entiendo cómo mapfunciona la opción.

Respuesta1

Creo que el map groupparámetro debe estar asociado con un filter groupparámetro correspondiente. Así es como lo uso para conectarme a Active Directory:

filter passwd (&(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=Linux-SA,OU=Groups,DC=global,DC=example,DC=com)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
map    passwd uid              sAMAccountName
map    passwd homeDirectory    unixHomeDirectory
map    passwd gecos            displayName
map    passwd loginShell       "/bin/bash"
filter shadow (&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))
map    shadow uid              sAMAccountName
map    shadow shadowLastChange pwdLastSet
filter group  (&(objectClass=group)(gidNumber=*))
map    group  uniqueMember        member

información relacionada