Privilegios en OpenLDAP
Hola, me estoy liando bastante con los privilegios de los usuarios en
OpenLDAP. He leído manuales pero no logro aclararme del todo y sobre todo no
consigo que me funcione lo que pretendo:
Este sería mi árbol:
----------------------------------------------------------------
- dc=localhost
- cn=admin
- ou=sugarcrm
- uid=reader
- uid=writer
- ou=contacts
- cn=Pepito Gonzalez
- cn=Laura Rodrigo
- cn=Manolo del Bombo
- cn=Felipe Mojena
----------------------------------------------------------------
Lo que quiero es sencillo:
- cn=admin,dc=localhost:
Permiso de escritura sobre TODO.
- uid=reader,dc=sugarcrm,dc=localhost:
Permiso de lectura en "ou=sugarcrm,dc=localhost" y recursivo.
- uid=writer,dc=sugarcrm,dc=localhost:
Permiso de escritura en "ou=sugarcrm,dc=localhost" y recursivo.
- Resto:
No me interesa de momento, pero dejémoslo en lectura para todo.
La única forma de la que he conseguido ese comportamiento es la siguiente
(slapd.conf):
---------------------------------------------------------------------------------------------------
## Acceso de escritura y lectura a "sugarcrm":
access to dn.subtree="ou=sugarcrm,dc=localhost"
by dn="uid=writer,ou=sugarcrm,dc=localhost" write
by dn="uid=reader,ou=sugarcrm,dc=localhost" read
by dn="cn=admin,dc=localhost" write <-- NO ME GUSTA
# The admin dn has full write access, everyone else
# can read everything.
access to *
by dn="cn=admin,dc=localhost" write
by * read
---------------------------------------------------------------------------------------------------
Como veis, necesito poner:
by dn="cn=admin,dc=localhost" write
para que "admin" tenga permiso de lectura y escritura en "sugarcrm".
¿Acaso habría que poner antes lo referente a "admin" que lo referente
a "sugarcrm"? Lo he probado y entonces resulta que no tengo permiso de
escritura con "writer" en "sugarcrm".
Según he leído en caso de que un acceso cumpla dos directivas en slapd.conf
entonces funciona la primera que encuentra, lo cual creo que explica lo que
me sucede tanto en el caso que describo como si pongo lo de "admin" antes que
lo de "sugarcrm".
En ese caso parece lógico que tenga que añadir la línea:
by dn="cn=admin,dc=localhost" write
en la sección de "sugarcrm", ¿es así?
Agradecería mucho si alguien puede corregirme o aclararme un poco lo que
ocurre. Muchas gracias.
--
Iñaki
Por el bien de todos respetemos las normas de la lista:
http://wiki.debian.org/NormasLista
Reply to: