Linux - No funciona acceso de usuarios a LDAP

   
Vista:

No funciona acceso de usuarios a LDAP

Publicado por Dani (1 intervención) el 23/04/2012 11:50:00
Hola, estoy diseñando una LDAP para hacer una especie de libreta de direcciones y que los usuarios puedan ver los contactos de esa libreta y sus atributos. Y tambien añadir nuevos usuarios, modificar y borrar. Pero me he encontrado con un problemilla. Primero os explico como he diseñado la estructura y al final os comento el problema. La estructura sería de la siguiente manera:

La Base DN es: dc=example,dc=com
A continuaciòn tengo 2 organizationalUnits:
ou=usuarios,dc=example,dc=com y ou=Contactos,dc=example,dc=com

Dentro de usuarios tengo 3 tipos de usuario inetOrgPerson cn=TipoA, cn=TipoB y cn=TipoC
Quedarian los 3 de la siguiente manera: cn=TipoA,ou=usuarios,dc=example,dc=com

Dentro de Contactos tendré otras 3 organizationalUnits que seran ou=direcciones tipoA, ou=direcciones TipoAB, ou=direcciones TipoABC. El ejemplo de una de ellas sería:
ou=TipoAB,ou=Contactos,dc=example,dc=com

Dentro de estas 3 organizationalUnits tendré muchos contactos del tipo inetOrgPerson.

Mi objetivo es poder acceder a esos contactos utilizando uno de los 3 tipos de usuario A,B o C. El usuario A accedería a todos los contactos con permisos de escritura, el B igual que el A, pero a las hojas del árbol que le correspondan, y el C tendria solamente permisos de lectura de la "ou" correspondiente.

He configurado el slapd.conf de la siguiente manera:

database dbd
suffix "dc=example,dc=com"
directory /var/lib/ldap


rootdn "cn=admin,dc=example,dc=com"
rootpw xxxxxxxxxxxxxxxxxxxx

access to attrs=userPassword
by self write
by anonymous auth
by users break

# ou=direcciones TipoABC.
access to dn.regex="cn=([^,]+),ou=direcciones TipoABC,ou=Contactos,dc=example,dc=com$"
by dn.exact="cn=TipoA=Usuarios,dc=example,dc=com" write
by dn.exact="cn=TipoB=Usuarios,dc=example,dc=com" write
by dn.exact="cn=TipoC=Usuarios,dc=example,dc=com" read
by users break

# ou=direcciones TipoAB.
access to dn.regex="cn=([^,]+),ou=direcciones TipoAB,ou=Contactos,dc=example,dc=com$"
by dn.exact="cn=TipoA=Usuarios,dc=example,dc=com" write
by dn.exact="cn=TipoB=Usuarios,dc=example,dc=com" write
by users break

# ou=direcciones TipoA.
access to dn.regex="cn=([^,]+),ou=direcciones TipoA,ou=Contactos,dc=example,dc=com$"
by dn.exact="cn=TipoA=Usuarios,dc=example,dc=com" write
by users break



Ahora que os he mostrado mi estructura, les explico el problema que tengo. Utilizo Apache Directory Studio, o jXplorer o similares para ver mi LDAP de forma grafica. Cuando entro con mi usuario como administrador puedo manipular la LDAP sin ningun problema. Añadir, modificar y eliminar contactos.
El problema viene cuando intento entrar como usuario Tipo A, B o C. Me conecto al servidor sin ningun error de fallo de clave, pero no me aparece la estructura del arbol ni los usuarios ni nada y no puedo hacer absolutamente nada. Si alguien tiene idea de que puede estar mal le agradecería muchísimo que me ayudase.

Muchas gracias por leer todo esto y quizas os sirve de idea esta estructura para vuestra LDAP.
Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder