2011-08-30 18 views
6

Tengo una aplicación web que usa Active Directory para autenticar usuarios, y estoy tratando de reemplazar AD con OpenLDAP.LDIF para crear usuarios y grupos de Active Directory en OpenLDAP?

La documentación dice que necesito iniciar sesión en el controlador de dominio como administrador, abrir la ventana de administración de usuarios, hacer clic en la unidad organizativa correspondiente y agregar los ID de usuario a los grupos adecuados (estos grupos deben tener alcance "Global" y grupo escribe "Seguridad").

Necesito crear las entradas equivalentes en mi servidor OpenLDAP. ¿Alguien puede proporcionar un LDIF de ejemplo para esto? No sé la clase ni los atributos que debería usar, y no tengo acceso a un controlador de dominio. Los ítems más problemáticos parecen ser el tipo de grupo y el alcance, porque parecen ser valores binarios, no cadenas.

Tenga en cuenta que no quiero reemplazar el Directorio Activo por completo, solo necesito grupos de usuarios y grupos. Intenté agregar microsoft.schema a OpenLDAP, pero no funciona. Encontré información sobre cómo modificar el esquema para Microsoft Outlook; Necesito algo similar pero más simple.

+0

¿Se puede ser más explícito. Necesita una secuencia de comandos LDIF, por lo que es programación, por lo que no votaré para cerrar la pregunta, pero no es tan explícito. ¿Qué es lo que realmente desea hacer, migrar usuarios de AD a OpenLDAP? agregar un nuevo usuario a OpenLDAP con LFIF? Usted contó sobre un documento cuál (¿puede editar su pregunta y poner el enlace?). Otra pregunta es por qué OpenLDAP sabe que ADAM (similar a AD) se ejecuta en Windows y es gratis. – JPBlanc

+0

Necesito crear nuevos usuarios y grupos (no migrarlos de AD) en OpenLDAP usando el mismo esquema (clases, atributos) usado por Active Directory. No puedo proporcionar el documento que mencioné, es de propiedad exclusiva. Conozco a ADAM, pero no puedo usarlo (la solución debe estar basada en Linux). Gracias por tu interés. – muriloq

Respuesta

9

Es casi imposible convertir todo el esquema ActiveDirectory a OpenLDAP, es enorme. Sin embargo, podemos agregar sólo los atributos y clases necesarias:

attributetype (1.2.840.113556.1.4.750 NAME 'groupType' 
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.27' SINGLE-VALUE 
) 

attributetype (1.3.114.7.4.2.0.33 NAME 'memberOf' 
    SYNTAX '1.3.6.1.4.1.1466.115.121.1.26' 
) 

objectclass (1.2.840.113556.1.5.9 NAME 'user' 
     DESC 'a user' 
     SUP organizationalPerson STRUCTURAL 
     MUST (cn) 
     MAY (userPassword $ memberOf)) 

objectclass (1.2.840.113556.1.5.8 NAME 'group' 
     DESC 'a group of users' 
     SUP top STRUCTURAL 
     MUST (groupType $ cn) 
     MAY (member)) 

Entonces es fácil de crear un archivo LDIF para la inserción de los usuarios y grupos:

dn: dc=myCompany 
objectClass: top 
objectClass: dcObject 
objectClass: organization 
dc: myCompany 
o: LocalBranch 

dn: ou=People,dc=myCompany 
objectClass: top 
objectClass: organizationalUnit 
ou: People 
description: Test database 

dn: cn=Users,dc=myCompany 
objectClass: groupOfNames 
objectClass: top 
cn: Users 
member: cn=Manager,cn=Users,dc=myCompany 

dn: cn=Manager,cn=Users,dc=myCompany 
objectClass: person 
objectClass: top 
cn: Manager 
sn: Manager 
userPassword:: e1NIQX1tc0lKSXJCVU1XdmlPRUtsdktmV255bjJuWGM9 

dn: cn=ReadWrite,ou=People,dc=myCompany 
objectClass: group 
objectClass: top 
cn: ReadWrite 
groupType: 2147483650 
member: cn=sysconf,ou=People,dc=myCompany 

dn: cn=sysopr,ou=People,dc=myCompany 
objectClass: user 
objectClass: organizationalPerson 
objectClass: person 
objectClass: top 
cn: sysopr 
sn: team 
memberOf: cn=ReadOnly,ou=People,dc=myCompany 
userPassword:: e1NIQX1jUkR0cE5DZUJpcWw1S09Rc0tWeXJBMHNBaUE9 
4

autorización, aquí es el inicio de una respuesta:

Una vez que ha instalado el Openldap

A - Editar su slapd.conf a:

1) modificar los esquemas incluidos

include /usr/local/etc/openldap/schema/core.schema 
include /usr/local/etc/openldap/schema/cosine.schema 
include /usr/local/etc/openldap/schema/inetperson.schema 

2) archivos de esquema actualiza como se explica en this FAQ

3) Modificar el contexto de nomenclatura (personalmente I'am usando HDB como back-end)

database hdb 
suffix "dc=dom,dc=com" 
rootdn "cn=Manager,dc=dom,dc=com" 
rootpw secret 
directory /usr/local/var/openldap-hdb 

4) A continuación, reinicie su directorio

B - Inserte su raíz

Aquí está el archivo LDIF (root.ldif)

dn: dc=dom,dc=com 
objectclass: dcObject 
objectclass: organization 
o: Company name 
dc: dom 

Aquí es la línea de comandos

ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f root.ldif 

C - Introducir un usuario

Aquí está el archivo LDIF (user.ldif)

dn: cn=user1,dc=dom,dc=com 
objectClass: inetOrgPerson 
sn: users 
cn: user1 
telephoneNumber: 9999 

Aquí es la línea de comandos

ldapadd –x –D "cn=Manager,dc=dom,dc=com" -W –f user.ldif 

D - Un consejo

Apache directory studio, es para mí, un navegador muy bueno LDAP, es de código abierto, que funciona en la parte superior de Java en Linux y Windows. Utilizándolo, puede navegar graficamente AD y OpenLdap y hacer las partes B y C simplemente haciendo clic.


Active-Directory Schema (Classes and attributes) están documentados en MSDN. Por ejemplo, aquí está la información sobre groupType. ¿Es lo que esperas?

+0

Gracias, pero solo dio instrucciones genéricas para configurar OpenLDAP. Ya lo hice (y estoy usando Apache Directory Studio). Lo que necesito saber es cómo crear usuarios y grupos de la manera específica en que lo hace AD. Los atributos de tipo de grupo y de alcance de grupo, por ejemplo, no son simplemente cadenas "Seguridad" y "Global", sino que usan constantes numéricas largas (que yo no tenía). – muriloq

+0

Edito mi respuesta, pero no estoy seguro de entender lo que espera. – JPBlanc

Cuestiones relacionadas