Modificacion Entrada LDAP

De WikiEtl
Saltar a: navegación, buscar

Para modificar una entrada en LDAP de una cuenta de asignatura o profesor podemos proceder desde dos casos distintos.

CASO 1:

Partiremos desde un archivo de texto con una única línea con formato /etc/password. Recordemos que esta línea la obteníamos al crear una nueva cuenta ( Creación de una cuenta de asignatura). Luego, nos tocará cambiar aquellos datos que deseemos modificar y guardar el archivo en /tmp.

A continuación, nos conectamos a itserv con usuario ETL:

pps@platillos:~$ slogin itserv.lab.it.uc3m.es -letl -p7000

y encontraremos /users/misc/etl/bin el script 'modify_migrate_v1_sh'. Ese script convierte nuestro archivo modificado y guardado en /tmp con formato /etc/password a formato .ldif. Seguidamente usa el comando ldapmodify para realizar los cambios en ldap usando el archivo .ldif que hemos modificado previamente. Suponiendo que nuestro archivo es '/tmp/labgsam'...

Un ejemplo de archivo con formato /etc/password al cual modificamos los campos:

etl@ITserv:~$ cat  /tmp/labgsam
labgsam:pxxxxxxY.:1366:1009:Servicios Audiovisuales Móviles,xxxx,xxxx,+34 91 624 xxxx,,Antonio de la Oliva:/usr/lab/asig/labgsam:/bin/tcsh

Ejemplo de uso del script 'modify_migrate_v1_sh':

etl@ITserv:~/bin$ ./modify_migrate_v1_sh /tmp/labgsam

CASO 2:

En este caso también partimos del archivo con formato /etc/password pero esta vez se realiza en dos pasos y con scripts diferentes.

Paso 1- Usaremos el script 'migrate_v1.sh' para convertir el fichero /tmp/labgsam a un fichero con formato .ldif en /tmp.

etl@ITserv:~/bin$ ./migrate_v1.sh /tmp/labgsam
+ ldapmodify -x -c -h ldap.lab.it.uc3m.es -D cn=admin,dc=lab,dc=it,dc=uc3m,dc=es -f /tmp/labgsam.ldif -W
Enter LDAP Password:
modifying entry "uid=labgsam,ou=Asig,dc=lab,dc=it,dc=uc3m,dc=es"
etl@ITserv:~/bin$ ls /tmp
doit.log  labgsam  labgsam.ldif  labgsam.ldif.tmp  list  lost+found

ahora modificamos del arhivo .ldif los campos que queramos:

etl@ITserv:~/bin$ vi /tmp/labgsam.ldif

Ejemplo de formato de archivo .ldif: [nota: el campo 'dn' es el que caracteriza a la asignatura así que no podemos modificarlo]

dn: uid=labgsam,ou=Asig,dc=lab,dc=it,dc=uc3m,dc=es
uid: labgsam
cn:: U2xxxxxxxxxxxxxxxxxxxxxxxxxxxxxzdmlsZXM=
loginShell: /bin/bash

Paso 2- Ahora tocará usar el script 'modify_v1.sh' para actualizar ldap con el archivo .ldif que acabamos de modificar.

etl@ITserv:~/bin$ ./modify_v1.sh /tmp/labgsam.ldif
Enter LDAP Password: 
modifying entry "uid=labgsam,ou=Asig,dc=lab,dc=it,dc=uc3m,dc=es"

Finalmente, podemos realizar una búsqueda para ver si la cuenta ha sufrido los cambios:

etl@ITserv:~/bin$ ldapsearch -x uid=labgsam 
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: uid=labgsam
# requesting: ALL
#
# labgsam, Asig, lab.it.uc3m.es
dn: uid=labgsam,ou=Asig,dc=lab,dc=it,dc=uc3m,dc=es
objectClass: account
objectClass: posixAccount
objectClass: top
uidNumber: 1366
gidNumber: 1009
homeDirectory: /usr/lab/asig/labgsam
gecos: Servicios Audiovisuales Moviles,xxxx,xxxx,+34 91 624 xxxx,,Antonio de la Oliva
uid: labgsam
cn:: U2VyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsZXM=
loginShell: /bin/bash
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1

--Paula 19:58 28 feb 2012 (UTC)