
estoy migrando delibpam-ldapalibpam-ldapd. Tengo problemas para reunir los grupos secundarios de LDAP.
Enlibpam-ldap, tenía esto en el /etc/ldap.conf
archivo:
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 groupOfNames
en lugar de groupOfUniqueNames
la clase LDAP para grupos, por lo que el atributo que nombra a los miembros se nombra member
en 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 map
funciona la opción.
Respuesta1
Creo que el map group
parámetro debe estar asociado con un filter group
pará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