10.1 Migrando o esquema Sun ONE para o NetIQ eDirectory

Para migrar o esquema Sun ONE para o NetIQ eDirectory, realize essas etapas:

10.1.1 Etapa 1: realize a operação de atualização de cache de esquema

É possível gravar os erros encontrados ao comparar o esquema a um arquivo de erro usando o seguinte comando:

ice -e LDIF error file name -C -a -SLDAP -s Sun ONE server -p Sun ONE port -DLDAP -s eDirectory server -p eDirectory port

Por exemplo:

ice -e err.ldf -C -a -SLDAP -s sun_srv1 -p sun_port1 -DLDAP -s edir_srv2 -p edir_port2

Quaisquer erros encontrados ao comparar o esquema são gravados no arquivo de erros (err.ldf no exemplo). Não é necessário efetuar login para realizar esta operação a menos que um dos servidores exija autenticação para ler o Root DSE. O Microsoft Active Directory requer autenticação para ler o Root DSE.

10.1.2 Etapa 2: corrija o arquivo LDIF de erros para eliminar os erros

  • O Sun ONE define publicamente algumas definições de esquema que o eDirectory não define. Isto inclui atributos como objectClasses, attributeTypes, ldapSyntaxes e subschemSubentry. Tais definições existem internamente e são muito importantes para o esquema e, portanto, não podem ser modificadas. As operações que tentam modificar tais definições resultam no seguinte erro:

    LDAP error : 53 (DSA is unwilling to perform) ( DSA não executa)

    Quaisquer registros que contenham referências a essas definições causam o seguinte erro:

    LDAP error : 16 : ( No such attribute ) (Atributo inexistente)

    Desta maneira, os registros que contém referências a esses objetos ou tentam modificar tais definição precisam ser comentados no arquivo de erros LDIF (err.ldf no exemplo).

  • Algumas definições de objectClasses no Sun ONE não possuem atributos de nomeação. Adicionar estas objectClasses resultaria no seguinte erro no eDirectory:

    LDAP error : 80 (NDS error: ambiguous naming (-651) (nomeação ambígua)

    Isto ocorre porque o Sum ONE não usa o mesmo método para determinar as regras de nomes que o eDirectory.

    Para resolver isto, use qualquer uma das três opções a seguir:

    Opção 1:

    Percorra as objectClasses incorretas e adicione um atributo de nomeação válido a cada uma.

    Por exemplo:

    Para adicionar o atributo de nomeação [ cn ] à objectClass netscapeMachineData, modifique a entrada (que é enfatizada no exemplo abaixo) no arquivo err.ldf para incluir a flag X-NDS_NAMING como mostrado abaixo:

    dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’ 
        DESC ’iPlanet defined objectclass’ SUP top STRUCTURAL MAY ’cn’     X-NDS_NAMING ’cn’ )-
    

    Opção 2:

    Percorra as objectClasses incorretas e torne-as AUXILIAR ou ABSTRATA.

    Por exemplo:

    Para modificar a definição da objectClass netscapeMachineData de ESTRUTURAL para AUXILIAR, modifique a entrada do arquivo err.ldf (que é enfatizada no exemplo abaixo) como mostrado abaixo:

    dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’ 
       DESC ’iPlanet defined objectclass’ SUP top AUXILIARY )-
    

    Para modificar a definição da objectClass netscapeMachineData de ESTRUTURAL para ABSTRATA, modifique a entrada do arquivo err.ldf (que é enfatizada no exemplo abaixo) como mostrado abaixo:

    dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’ 
       DESC ’iPlanet defined objectclass’ SUP top ABSTRACT )-
    

    Opção 3:

    Adicione cn à definição Superior no eDirectory, que causa um atributo de nomeação em potencial para todas as objectClasses.

    Existem duas maneiras de adicionar cn a Superior:

    • Método 1:

      Crie um arquivo como mostrado abaixo e nomeie-o como topsch.ldf.

      version : 1
      
      dn:cn=schema
      
      changetype :modify
      
      delete : objectclasses
      
      objectclasses : ( 2.5.6.0 NAME ’top’ STRUCTURAL )
      
      -
      
      add:objectclasses
      
      objectclasses : (2.5.6.0 NAME ’top’ STRUCTURAL MAY cn)
      

      Usando a seguinte linha de comando da Importação, conversão e exportação da NetIQ:

      ice -SLDIF -f LDIF_file_name -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password
      

      Por exemplo:

      ice -SLDIF -f topsch.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1
      
    • Método 2:

      1. No iManager, clique no botão Funções e tarefasBotão funções e tarefas.

      2. Clique em Esquema > Adicionar atributo.

      3. Na lista Classes disponíveis, selecione Superior e clique em OK.

      4. Clique duas vezes em CN na lista Atributos opcionais disponíveis.

      5. Clique em OK.

  • Algumas definições de objectClass contém userPassword como parte de sua lista de atributos obrigatórios. Adicionar tais objectClasses ao eDirectory causa o seguinte erro:

    LDAP error : 16 (No such attribute) (Atributo inexistente)

    Para resolver este erro, modifique a definição da objectClass para herdar a nova objectClass do ndsLoginProperties e remova o atributo userPassword da lista de atributos obrigatórios.

    Por exemplo:

    Uma objectClass contendo userPassword na lista de atributos obrigatórios:

    version : 1
    dn: cn=schemaz
    changetype: modify
    add: objectClasses
    objectClasses: ( 0.9.2342.19200300.100.4.19 NAME ’simpleSecurityObject’ DESC ’
     Standard LDAP objectClass’ SUP top STRUCTURAL MUST userPassword )
    

    Precisa ser modificada da seguinte maneira (observe a mudança na última linha):

    version : 1
    dn: cn=schema
    changetype: modify
    add: objectClasses
    objectClasses: ( 0.9.2342.19200300.100.4.19 NAME ’simpleSecurityObject’ DESC ’
     Standard LDAP objectClass’ SUP (ndsLoginProperties $ top) STRUCTURAL )
    

10.1.3 Etapa 3: importe o arquivo LDIF

Use o comando de Importação, conversão e exportação da NetIQ para importar o esquema modificado e comparar o arquivo LDIF (err.ldf em nosso exemplo):

ice -e error_file -SLDIF -f modified_LDIF_file -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password

Por exemplo:

ice -e errors.ldf -SLDIF -f err.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1