La herramienta ldapdelete es la más adecuada para eliminar objetos de un directorio LDAP. Este artículo presenta un ejemplo de su uso.

Partiendo de un directorio con ciertos objetos:

root@debian8:/usr/local/etc/openldap# ldapsearch -x -h localhost -b "dc=example,dc=com" "*" | grep dn | cut -d' ' -f'2-'
cn=Akakiy Zinberstein,dc=example,dc=com
documentTitle=book1,dc=example,dc=com
documentTitle=book2,dc=example,dc=com
dc=example,dc=com

Supongamos que deseamos eliminar la entrada identificada por el nombre o DN (Distinguished Name) "cn=Akakiy Zinberstein,dc=example,dc=com".

A tal fin es posible recurrir a ldapdelete identificándose como root en el servidor LDAP en cuestión:

root@debian8:/usr/local/etc/openldap# ldapdelete -D "cn=root,dc=example,dc=com" -w secretpw -h localhost -p 389 "cn=Akakiy Zinberstein,dc=example,dc=com"

Al igual que todos los utilitarios ldap*, las opciones se interpretan de la siguiente forma: -D indica el DN con el cual autenticarse en el servidor (en este caso root); -w especifica la contraseña para dicho usuario; -h el nombre del servidor LDAP; y -p el puerto. Es posible además forzar el uso del mecanismod e autenticación simple (en lugar de SASL) a través de la opción -x.

Si se desea que la contraseña no sea parte del comando, se debe utilizar la opción -W, la cual hace que la herramienta solicite el ingreso de la contraseña del usuario de manera interactiva.

Es posible comprobar luego que dicho DN ya no existe en el directorio repitiendo la búsqueda inicial:

root@debian8:/usr/local/etc/openldap# ldapsearch -x -h localhost -b "dc=example,dc=com" "*" | grep dn | cut -d' ' -f'2-'
documentTitle=book1,dc=example,dc=com
documentTitle=book2,dc=example,dc=com
dc=example,dc=com

Referencias


Tal vez pueda interesarte


Compartí este artículo