Formato de Permuta de Dados de LDAP
O Formato de Permuta de Dados de LDAP (LDIF) fornece-lhe uma forma simples de transferir informações do diretório entre servidores de diretório de LDAP. Os arquivos de LDIF guardam entradas do diretório de LDAP num formato de texto simples. O formato dos arquivos de LDIF utilizados pelo servidor de diretórios foi alterado ligeiramente, a partir da V4R5 do Directory Services. Os arquivos de LDIF são constituídos por uma sequência de linhas que descreve uma entrada de diretório ou um conjunto de alterações feitas numa entrada de diretório. Não pode descrever ambas.
O formato geral de uma entrada de LDIF é o seguinte:
versão: 1 dn: nome distinto attrtype1: valoratrib1 ...
em que:
- versão mostra a versão do formato do arquivo de LDIF. O número da versão tem de ser "1". Se o número da versão estiver ausente, o arquivo de LDIF é considerado como um formato de arquivo de LDIF mais antigo. Quando o arquivo de LDIF tem a versão 1, o conteúdo TEM de ser em código UTF-8.
- nome distinto é o nome distinto da entrada de diretório
- attrtype1 é um tipo de atributo de LDAP (como, por exemplo, nc ou uo)
- valoratrib1 é o valor do atributo
Cada entrada pode ter vários atributos. Cada atributo aparece numa linha em separado. Se o valor de um atributo ocupar mais do que uma linha, pode continuar na linha seguinte e é precedido de um espaço em branco ou de uma tabulação.
As linhas em branco separam múltiplas entradas do mesmo arquivo de LDIF. Qualquer linha que comece com um cardinal ("#") é uma linha de comentário e deve ser ignorada quando analisar um arquivo de LDIF.
Qualquer nome distinto ou valor de atributo que satisfaça uma das seguintes condições devem ser codificados em base64:
- Contém retornos na linha ou mudanças de linha.
- Começa com dois pontos (":"), ESPAÇO, ou menos que ("<").
- Termina com um espaço.
Os atributos codificados em base64 são designados através da utilização de dois pontos entre o nome de atributo e o valor.
As referências externas estão no arquivo:// formato URL. Deve haver dois pontos e menos que (":<") entre o tipo de atributo e o valor de referência externa.
Eis alguns exemplos de arquivos de LDIF:
Exemplo 1: Um arquivo de LDAP simples com duas entradas
versão: 1 dn: nc=Bárbara Jorge, uo=Rio de Janeiro, e=Grande Empresa, p=PO classe do objeto: topo classe do objeto: pessoa classe do objeto: organizationalPerson cn: Bárbara Jorge cn: Bárbara J Jorge cn: Babs Jorge ap: Jorge uid: bjorge número de telefone: +55 21 855 1212 descrição: Uma grande adepta da vela. dn: cn=Bernardo Jorge, ou=Sao Paulo, o=Grande Empresa, c=PO classe do objeto: topo classe do objeto: pessoa classe do objeto: organizationalPerson cn: Bernardo Jorge ap: Jorge número de telefone: +55 11 855 1212 descrição:Babs é uma grande adepta da vela e viaja bastante por mar condições perfeitas para a prática da vela. título:Gestor de Produto, Divisão Audiovisual
Exemplo 2: Um arquivo que contém um valor codificado em base64
versão: 1 dn: cn=Guilherme Jorge, ou=Rio de Janeiro, o=Grande Empresa, c=PO classe do objeto: topo classe do objeto: pessoa classe do objeto: organizationalPerson cn: Guilherme Jorge cn: Guilherme Jorge ap: Jorge uid: gernj número de telefone: +55 21 855 1212 descrição:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVlIGlzIGJ hc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdGVyIGluIGl0ICh hIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQgb3V0IG1vcmUu
Exemplo 3: Um arquivo que contém uma série de registos de alterações e comentários
Nota: | Os arquivos de LDIF com registos de alterações não podem ser importados diretamente para o servidor. Contudo, são suportados pelas funções de interface de LDAP. |
versão: 1 # Adicionar uma nova entrada dn: cn=Filipa Jorge, ou=Porto, o=Grande Empresa, c=PT alterartipo: adicionar classe do objeto: topo classe do objeto: pessoa classe do objeto: organizationalPerson cn: Filipa Jorge ap: Jorge uid: filipa número de telefone: +351 21 855 1212 jpegphoto:< arquivo:///usr/local/directory/photos/filipa.jpg # Eliminar uma entrada existente dn: cn=Ricardo Jorge, ou=Porto, o=Grande Empresa, c=PT alterartipo: eliminar # Modificar o nome distinto relativo de uma entrada dn: cn=Paulo Jorge, ou=Porto, o=Grande Empresa, c=PT alterartipo: modrdn newrdn: cn=Paula Jorge deleteoldrdn: 1
A ordem das entradas no arquivo de LDIF é importante. Para adicionar com êxito uma entrada que seja especificada no arquivo de LDIF a um diretório de LDAP, primeiro, a respectiva entrada ascendente tem de existir no espaço de nome do diretório. No exemplo anterior, não seria possível adicionar a segunda nem a terceira entradas se a primeira entrada não existisse.
Igualmente, para importar um arquivo de LDIF para um servidor que suporta certos sufixos, o arquivo de LDIF tem de ter entradas para aqueles sufixos. Por exemplo, se o seu servidor tivesse o sufixo ou=Porto, o=Grande Empresa, c=PT, o arquivo de LDIF mostrado acima podia ser importado. Mas, se no entanto, o seu servidor tivesse o sufixo o=Grande Empresa, c=PT, tem de ter uma entrada para esse sufixo especificado em primeiro lugar no arquivo de LDIF, como é mostrado a seguir:
dn: o=Grande Empresa, c=PT classe de objeto: organização o: Grande Empresa
O formato específico e o conteúdo dos arquivos de LDIF são determinados pelo esquema do servidor a partir do qual são exportados. Pode importar um arquivo de LDIF para qualquer servidor de LDAP que utilize o esquema idêntico como o servidor a partir do qual o arquivo foi exportado. Os servidores de LDAP de fornecedores diferentes utilizam esquemas distintos (com classes de objetos e atributos diferentes). Deste modo, pode não conseguir importar para um servidor um arquivo de LDIF que tenha sido criado por outro servidor.