LDIF

De castillowiki
Saltar a: navegación, buscar

Para poder entender el contenido de una base de datos LDAP o para poder crear y modificar sus entradas existe un lenguaje llamado LDIF (LDAP Data Interchange Format). Este representa en texto plano las entradas que LDAP guarda en su formato interno binario.

Registros de entrada

Los registro de entrada permiten ver el contenido de un objeto LDAP. Su forma básica es:

dn: <distinguished name>
<attrdesc>: <attrvalue>
<attrdesc>: <attrvalue>
<attrdesc>:: <base64-encoded-value>
<attrdesc>:< <URL>

Se pueden distinguir varios elementos:

  • El DN del objeto en primer lugar.
  • Un atributo normal en que se separa el nombre del valor por dos puntos y espacio.
  • Pueden haber varios atributos con el mismo nombre. Eso significa que ese atributo tiene múltiples valores.
  • Un atributo binario o que empieza por espacio o : o tiene caracteres no imprimibles. Es necesario codificarlo en base64. Se pueden poner, por ejemplo, imágenes codificadas en base64.
  • Si se desea indicar un atributo enlazado se puede sar :< y la URL a continuación.

Cada registro se separa del anterior por una línea en blanco.

Un ejemplo con todas las combinaciones:

          dn: cn=Barbara J Jensen,dc=example,dc=com
          cn: Barbara J Jensen
          cn: Babs Jensen
          objectclass: person
          description:< file:///tmp/babs
          sn: Jensen
          dn: cn=Bjorn J Jensen,dc=example,dc=com
          cn: Bjorn J Jensen
          cn: Bjorn Jensen
          objectclass: person
          sn: Jensen
          dn: cn=Jennifer J Jensen,dc=example,dc=com
          cn: Jennifer J Jensen
          cn: Jennifer Jensen
          objectclass: person
          sn: Jensen
          jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG

Registros de cambio

Se utilizan para representar cambios en el directorio. Comienzan con el DN del objeto a modificar y a continuación va la información del cambio que se desea realizar.

dn: <distinguishedname>
changetype: <[modify|add|delete|modrdn]>

Añadir:

add: <attributetype>
<attrdesc>: <value1>
<attrdesc>: <value2>
...
-

Como se puede ver, se pueden cambiar múltiples atributos al mismo tiempo. El - del final permite combinar operaciones de añadir, modificar o borrar con un mismo DN.

Reemplazar:

replace: <attributetype>
<attrdesc>: <value1>
<attrdesc>: <value2>
...
-

Borrar:

delete: <attributetype>
<attrdesc>: <value1>
<attrdesc>: <value2>
...
-

Ejemplo:

          dn: cn=Babs Jensen,dc=example,dc=com
          changetype: add
          objectclass: person
          objectclass: extensibleObject
          cn: babs
          cn: babs jensen
          sn: jensen
          dn: cn=Babs Jensen,dc=example,dc=com
          changetype: modify
          add: givenName
          givenName: Barbara
          givenName: babs
          -
          replace: description
          description: the fabulous babs
          -
          delete: sn
          sn: jensen
          -