El comando a utilizar es: ldapmodify -x -h %%%host%%%% -D “cn=manager, dc=%%%%miempresa%%%, dc=es” -w %%%passsword%%% -f file.ldif
El formato básico del fichero ldif es:
dn: dn de la entrada a modificar
changetype: modify
tipoDeModificacion: atributoAModificar
[atributoAModificar: valor]
Los tipos de modificación que se pueden incluir son add, delete y replace. En este caso añadimos dos números de teléfono al usuario
dn: cn=elemento1,dc=example,dc=com
changetype: modify
add: telephoneNumber
telephoneNumber: 911234567
telephoneNumber: 923456789
También podría efectuar varios tipos de modificaciones a la vez, separándolas con el guión: añadimos dos números de teléfono a elemento1, eliminamos el atributo mail con valor donmanuel@example.com y reemplazamos el givenname por Manuel.
dn: cn=elemento1,dc=example,dc=com
changetype: modify
add: telephoneNumber
telephoneNumber: 911234567
telephoneNumber: 923456789
-
delete: mail
mail: donmanuel@example.com
-
replace: givenname
givenname: Manuel
Lo único que hemos hecho es modificar los datos para un nodo concreto, quedando la estructura del árbol intacta. Si lo que queremos es efectuar cambios que afecten a las estructura del árbol hay que usar un nuevo valor de changetype, llamado modrdn. En este caso el modelo general es el siguiente (respetando el orden):
dn: dn de la entrada a modificar
changetype: modrdn
[newrdn: nuevo RDN del elemento]
[deleteoldrdn: ( 0 | 1 )]
[newsuperior: dn del nuevo nodo padre]
Supongamos entonces que tenemos un elemento con el siguiente DN:
dn: cn=luis,dc=example,dc=com
Si queremos cambiar el RDN, es decir, el atributo que lo identifica (en este caso, luis) haríamos
dn: cn=luis,dc=example,dc=com
changetype: modrdn
newrdn: cn=lfuente
deleteoldrdn: 1
Con esto nuestro elemento va a pasar a tener un DN de valor dn: cn=lfuente,dc=example,dc=com. Si hubiésemos puesto deleteoldrdn: 0, lo que habríamos hecho es conservar también el valor anterior de cn. Es decir, el nodo tendría dos valores diferentes para el atributo cn, pero sólo uno de ellos sería el RDN.
Referencias:
Apuntes de la Carlos III sobre OpenLdap.
Proyecto Openldap

