Si queremos utilizar los script de perl para ldap. Debemos instalar los siguientes paquetes.
libnet-ph-perl
libdbd-ldap-perl
Una vez instalado, podemos almacenar nuestra carpeta perl_ldap en cualqueir parte del disco duro
y ejecutarla.
Por ejemplo:
debian:/isp/openldap/ldap_perl# ./ldap_management_ies.sh ADD user54 domain usuario54 apellido54 user54
uid= user54,ou=Alumnos, dc=iesperemaria, dc=comdebian:/isp/openldap/ldap_perl#
Mostrando entradas con la etiqueta openldap. Mostrar todas las entradas
Mostrando entradas con la etiqueta openldap. Mostrar todas las entradas
lunes, 16 de febrero de 2009
IO::Socket::INET: connect: Conexión rehusada at ./ldap_add.pl line 70,
Si al intentar introducir una entrada desde perl, en el árbol de directorios de ldap, sale el siguiente error:
debian:/isp/openldap/ldap_perl# ./ldap_management_ies.sh ADD user54 domain usuario54 apellido54 user54
IO::Socket::INET: connect: Conexión rehusada at ./ldap_add.pl line 70, <DATA> line 225.
uid= user54,ou=Alumnos, dc=iesperemaria, dc=comsystem ./ldap_add.pl user54 domain usuario54 apellido54 user54 failed: 28416 at ./ldap_management_ies.sh line 30.
Posiblemente es que no hayas iniciado el servicio ldap.
Comprobamos si está iniciado ( y comprobamos que no).
debian:/isp/openldap/ldap_perl# ps -ef | grep slapd
root 9581 9195 0 14:09 pts/1 00:00:00 grep slapd
Arrancamos el servicio, bien desde /etc/init.d.... o si lo hemos instalado desde los fuentes, de la siguiente forma:
debian:/isp/openldap# /isp/openldap/libexec/slapd -f /isp/openldap/etc/openldap/slapd.conf
Si probamos a insertar de nuevo, vemos que nos deja:
debian:/isp/openldap/ldap_perl# ./ldap_management_ies.sh ADD user54 domain usuario54 apellido54 user54
uid= user54,ou=Alumnos, dc=iesperemaria, dc=comdebian:/isp/openldap/ldap_perl#
debian:/isp/openldap/ldap_perl# ./ldap_management_ies.sh ADD user54 domain usuario54 apellido54 user54
IO::Socket::INET: connect: Conexión rehusada at ./ldap_add.pl line 70, <DATA> line 225.
uid= user54,ou=Alumnos, dc=iesperemaria, dc=comsystem ./ldap_add.pl user54 domain usuario54 apellido54 user54 failed: 28416 at ./ldap_management_ies.sh line 30.
Posiblemente es que no hayas iniciado el servicio ldap.
Comprobamos si está iniciado ( y comprobamos que no).
debian:/isp/openldap/ldap_perl# ps -ef | grep slapd
root 9581 9195 0 14:09 pts/1 00:00:00 grep slapd
Arrancamos el servicio, bien desde /etc/init.d.... o si lo hemos instalado desde los fuentes, de la siguiente forma:
debian:/isp/openldap# /isp/openldap/libexec/slapd -f /isp/openldap/etc/openldap/slapd.conf
Si probamos a insertar de nuevo, vemos que nos deja:
debian:/isp/openldap/ldap_perl# ./ldap_management_ies.sh ADD user54 domain usuario54 apellido54 user54
uid= user54,ou=Alumnos, dc=iesperemaria, dc=comdebian:/isp/openldap/ldap_perl#
viernes, 13 de febrero de 2009
ldap-utils
Crear la raíz del árbol
Establecemos tanto la raíz dc=iesperemaria,dc=com, como el administrador de LDAP, Manager.
Tanto la raíz como el administrador deben estar definidos en slapd.conf
---archivo inicial.ldif
dn: dc=iesperemaria, dc=com
objectclass: dcObject
objectclass: organization
o: IESPEREMARIA
dc: iesperemaria
dn: cn=Manager,dc=iesperemaria, dc=com
objectclass: organizationalRole
cn:Manager
---- fin archivo inicial.ldif
ldapadd x D "cn=Manager,dc=iesperemaria,dc=com" W f inicial.ldif
Crear las distintas entradas.
Creamos por ejemplo una organización que sea alumnos, y dentro de ella un alumno.
Hay que dejar una linea en blanco entre cada entrada del árbol
--- archivo nodos.ldif
dn:ou=Alumnos,dc=iesperemaria,dc=com
objectClass: organizationalUnit
ou: Alumnos
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
uid: alu001
cn: Alumno 001
givenname: Alumno
sn: 001
mobileTelephoneNumber: 666666666
mail: alu001@gmail.com
----fin nodos.ldif
ldapadd x D "cn=Manager,dc=iesperemaria,dc=com" W f nodos.ldif
LDAPMODIFY - AÑADIR ATRIBUTO / MODIFICAR VALOR ATRIBUTO / ELIMINAR ATRIBUTO
Por ejemplo:
1.-Modificar el email
2.-Añadir el atributo código postal.
3.-Eliminar el teléfono.
Me creo un archivo modificar.ldif que contiene:
-----
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
changetype: modify
replace: mail
mail: alu@gmail.com
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
changetype: modify
add: postalCode
postalCode: 03503
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
changetype: modify
delete: mobile
------
debian:/isp/openldap/bin# ./ldapmodify -x -D "cn=Manager,dc=iesperemaria, dc=com" -W -f modificar.ldif
Enter LDAP Password:
modifying entry "uid=acoloma,ou=Profesores,dc=iesperemaria,dc=com"
Para comprobar que las modificaciones se han echo podemos ejecutar:
debian:/isp/openldap/sbin# ./slapcat
LDAPMODIFY - MODIFICAR EL RDN
----rdn.ldif
dn: uid=alu001,ou=Profesores,dc=iesperemaria,dc=com
changetype: modrdn
newrdn: uid=Alumno 001
deleteoldrdn:1
----
La opción deleteoldrdn:
Si = 0 --> mantiene la entrada anterior.
Si = 1 --> modifica la entrada.
debian:/isp/openldap/bin# ./ldapmodify -x -D "cn=Manager,dc=iesperemaria, dc=com" -W -f rdn.ldif
LDAPDELETE
Elimina una entrada del directorio.
debian:/isp/openldap/bin# ./ldapdelete -W -D "cn=Manager,dc=iesperemaria,dc=com" uid=alu002,ou=Alumnos,dc=iesperemaria,dc=com
Enter LDAP Password:
Si ejecutamos slapcat comprobamos que el alumno alu002 ha sido eliminado del árbol de directorio.
Establecemos tanto la raíz dc=iesperemaria,dc=com, como el administrador de LDAP, Manager.
Tanto la raíz como el administrador deben estar definidos en slapd.conf
---archivo inicial.ldif
dn: dc=iesperemaria, dc=com
objectclass: dcObject
objectclass: organization
o: IESPEREMARIA
dc: iesperemaria
dn: cn=Manager,dc=iesperemaria, dc=com
objectclass: organizationalRole
cn:Manager
---- fin archivo inicial.ldif
ldapadd x D "cn=Manager,dc=iesperemaria,dc=com" W f inicial.ldif
Crear las distintas entradas.
Creamos por ejemplo una organización que sea alumnos, y dentro de ella un alumno.
Hay que dejar una linea en blanco entre cada entrada del árbol
--- archivo nodos.ldif
dn:ou=Alumnos,dc=iesperemaria,dc=com
objectClass: organizationalUnit
ou: Alumnos
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
objectClass: person
objectClass: inetOrgPerson
objectClass: organizationalPerson
uid: alu001
cn: Alumno 001
givenname: Alumno
sn: 001
mobileTelephoneNumber: 666666666
mail: alu001@gmail.com
----fin nodos.ldif
ldapadd x D "cn=Manager,dc=iesperemaria,dc=com" W f nodos.ldif
LDAPMODIFY - AÑADIR ATRIBUTO / MODIFICAR VALOR ATRIBUTO / ELIMINAR ATRIBUTO
Por ejemplo:
1.-Modificar el email
2.-Añadir el atributo código postal.
3.-Eliminar el teléfono.
Me creo un archivo modificar.ldif que contiene:
-----
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
changetype: modify
replace: mail
mail: alu@gmail.com
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
changetype: modify
add: postalCode
postalCode: 03503
dn: uid=alu001 ,ou=Alumnos,dc=iesperemaria,dc=com
changetype: modify
delete: mobile
------
debian:/isp/openldap/bin# ./ldapmodify -x -D "cn=Manager,dc=iesperemaria, dc=com" -W -f modificar.ldif
Enter LDAP Password:
modifying entry "uid=acoloma,ou=Profesores,dc=iesperemaria,dc=com"
Para comprobar que las modificaciones se han echo podemos ejecutar:
debian:/isp/openldap/sbin# ./slapcat
LDAPMODIFY - MODIFICAR EL RDN
----rdn.ldif
dn: uid=alu001,ou=Profesores,dc=iesperemaria,dc=com
changetype: modrdn
newrdn: uid=Alumno 001
deleteoldrdn:1
----
La opción deleteoldrdn:
Si = 0 --> mantiene la entrada anterior.
Si = 1 --> modifica la entrada.
debian:/isp/openldap/bin# ./ldapmodify -x -D "cn=Manager,dc=iesperemaria, dc=com" -W -f rdn.ldif
LDAPDELETE
Elimina una entrada del directorio.
debian:/isp/openldap/bin# ./ldapdelete -W -D "cn=Manager,dc=iesperemaria,dc=com" uid=alu002,ou=Alumnos,dc=iesperemaria,dc=com
Enter LDAP Password:
Si ejecutamos slapcat comprobamos que el alumno alu002 ha sido eliminado del árbol de directorio.
ldap_bind: Invalid credentials (49)
debian:/isp/openldap/bin# ./ldapadd -x -D "cn=Manager, dc=iesperemaria,dc=com" -W -f personas.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
Posiblemente sea error de la contraseña. Debes configurar en /etc/openldap/slapd.conf lo siguiente:
#Con esto, estoy asignado al usuario Manager como administrador. (ese usuario no tiene porque existir en el sistema Linux, le pongo ese nombre como otro cualquiera).
rootdn "cn=Manager,dc=iesperemaria,dc=com"
#Luego nos faltaría asignarle una contraseña.
#PRIMERA OPCIÓN: ASIGNARLE UNA CONTRASEÑA PLANA.
#Esto quiero decir que la contraseña será la palabra secret
rootpw secret
#SEGUNDA OPCION: ASIGNALE CONTRASEÑA ENCRIPTADA.
#con pasword-hash le indico el tipo de encriptación
#con rootpw y el tipo de encriptación, le añado la clave encriptada.
password-hash {MD5}
rootpw {MD5}5XJsaCEF5IJSIJkJjIbXBA==
------- /Fin de modificaciones en slapd.conf
Para gener una clave encriptada hacemos:
/usr/sbin/slappasswd -h {tipo de encriptacion}
Por ejemplo:
debian:/isp/openldap/sbin# ./slappasswd -h {MD5}
New password:
Re-enter new password:
{MD5}5XJsaCEF5IJSIJkJjIbXBA==
Este es la contraseña encriptada que añadiremos al slapd.conf
Puedes ver los archivos de logs para comprobar los errores
cat /var/log/messages
cat /var/log/syslog
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
Posiblemente sea error de la contraseña. Debes configurar en /etc/openldap/slapd.conf lo siguiente:
#Con esto, estoy asignado al usuario Manager como administrador. (ese usuario no tiene porque existir en el sistema Linux, le pongo ese nombre como otro cualquiera).
rootdn "cn=Manager,dc=iesperemaria,dc=com"
#Luego nos faltaría asignarle una contraseña.
#PRIMERA OPCIÓN: ASIGNARLE UNA CONTRASEÑA PLANA.
#Esto quiero decir que la contraseña será la palabra secret
rootpw secret
#SEGUNDA OPCION: ASIGNALE CONTRASEÑA ENCRIPTADA.
#con pasword-hash le indico el tipo de encriptación
#con rootpw y el tipo de encriptación, le añado la clave encriptada.
password-hash {MD5}
rootpw {MD5}5XJsaCEF5IJSIJkJjIbXBA==
------- /Fin de modificaciones en slapd.conf
Para gener una clave encriptada hacemos:
/usr/sbin/slappasswd -h {tipo de encriptacion}
Por ejemplo:
debian:/isp/openldap/sbin# ./slappasswd -h {MD5}
New password:
Re-enter new password:
{MD5}5XJsaCEF5IJSIJkJjIbXBA==
Este es la contraseña encriptada que añadiremos al slapd.conf
Puedes ver los archivos de logs para comprobar los errores
cat /var/log/messages
cat /var/log/syslog
ldap_add: Server is unwilling to perform (53)
Comprueba el archivo .ldif, que posiblemente esté indicando mal al árbol de directorios.
Fijate si, dn: dc=iesperemaria, dc=com, se corresponde con el dc del /etc/openldap/ slapd.conf
Puedes ver los archivos de logs para comprobar los errores
cat /var/log/messages
cat /var/log/syslog
Fijate si, dn: dc=iesperemaria, dc=com, se corresponde con el dc del /etc/openldap/ slapd.conf
Puedes ver los archivos de logs para comprobar los errores
cat /var/log/messages
cat /var/log/syslog
Suscribirse a:
Comentarios (Atom)