I.6 Migration vers NetIQ eDirectory

Migration du schéma Sun ONE vers NetIQ eDirectory

Pour migrer le schéma Sun ONE vers NetIQ eDirectory, exécutez les étapes suivantes :

Étape 1 : Exécutez l'opération de mise à jour du cache de schéma.

Vous pouvez enregistrer les erreurs qui se sont produites lors de la comparaison du schéma dans un fichier d'erreurs à l'aide de la commande suivante :

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

Par exemple :

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

Les éventuelles erreurs rencontrées lors de la comparaison du schéma sont inscrites dans le fichier d'erreurs (err.ldf dans l'exemple). Il n'est pas nécessaire de vous connecter pour exécuter cette opération, sauf si l'un des serveurs requiert une authentification afin de lire le DSE racine. Microsoft Active Directory requiert une authentification pour lire le DSE racine.

Étape 2 : Corrigez le fichier d'erreurs LDIF afin d'éliminer les erreurs.

  • Sun ONE détermine publiquement certaines définitions de schéma qui ne le sont pas dans eDirectory. Les attributs tels que objectClasses, attributeTypes, ldapSyntaxes et subschemSubentry sont pris en compte. Ces définitions existent de façon interne et sont d'une importance capitale pour le schéma ; elles ne peuvent donc pas être modifiées. Les opérations qui tentent de les modifier génèrent le message d'erreur suivant :

    LDAP error : 53 (DSA is unwilling to perform)

    Tous les enregistrements qui contiennent des références à ces définitions produisent l'erreur suivante :

    LDAP error : 16 : ( No such attribute )

    Par conséquent, les enregistrements qui contiennent des références à ces objets ou qui tentent de modifier ces définitions doivent être commentés dans le fichier d'erreurs LDIF (err.ldf dans l'exemple).

  • Certaines définitions d'attributs objectClasses dans Sun ONE ne possèdent pas d'attributs d'assignation de nom. L'ajout de ces attributs objectClasses produit l'erreur suivante dans eDirectory :

    LDAP error : 80 (NDS error: ambiguous naming (-651)

    Cette erreur se produit car Sun ONE n'utilise pas la même méthode de détermination des règles d'assignation de nom que eDirectory.

    Pour y remédier, utilisez l'une des trois options suivantes :

    Option 1 :

    Ajoutez un attribut d'assignation de nom valable à chaque définition objectClasses en cause.

    Par exemple :

    Pour ajouter l'attribut d'assignation de nom [ cn ] à la classe d'objet netscapeMachineData, modifiez l'entrée (en italique dans l'exemple ci-dessous) dans le fichier err.ldf comme suit afin d'inclure le drapeau X-NDS_NAMING :

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

    Option 2 :

    Affectez la valeur AUXILIARY ou ABSTRACT à chaque définition objectClasses en cause.

    Par exemple :

    Pour modifier la définition de la classe d'objet netscapeMachineData et affecter la valeur AUXILIARY à la place de STRUCTURAL, modifiez l'entrée du fichier err.ldf (en italique dans l'exemple ci-dessous) :

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

    Pour modifier la définition de la classe d'objet netscapeMachineData et affecter la valeur ABSTRACT à la place de STRUCTURAL, modifiez l'entrée du fichier err.ldf (en italique dans l'exemple ci-dessous) :

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

    Option 3 :

    )-Ajoutez cn à la définition de Top dans eDirectory, afin de générer un attribut d'assignation de nom éventuel pour chaque objectClasses.

    Il existe deux façons différentes d'ajouter cn à Top :

    • Méthode 1 :

      Créez un fichier de la manière suivante et donnez-lui le nom 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)
      

      Utilisez la ligne de commande d'importation, de conversion et d'exportation NetIQ suivante :

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

      Par exemple :

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

      1. Dans NetIQ iManager, cliquez sur le bouton Rôles et tâches bouton Rôles et tâches.

      2. Cliquez sur Schéma > Ajouter un attribut.

      3. Dans la liste Classes disponibles, sélectionnez Haut, puis cliquez sur OK.

      4. Double-cliquez sur CN dans la liste Attributs facultatifs disponibles.

      5. Cliquez sur OK.

  • Certaines définitions objectClass contiennent userPassword dans leur liste d'attributs obligatoires. L'ajout de ces définitions objectClasses à eDirectory produit l'erreur suivante :

    LDAP error : 16 (No such attribute)

    Pour corriger cette erreur, modifiez la définition objectClass afin d'hériter de la nouvelle classe d'objet de ndsLoginProperties et supprimez l'attribut userPassword de la liste des attributs obligatoires.

    Par exemple :

    Une classe d'objet contenant userPassword dans la liste d'attributs obligatoires :

    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 )
    

    doit être modifiée comme suit (prêtez attention à la modification dans la dernière ligne) :

    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)
    

Étape 3 : Importez le fichier LDIF.

Utilisez la commande d'importation, de conversion et d'exportation NetIQ suivante pour importer le fichier LDIF de comparaison de schéma modifié (err.ldf dans l'exemple) :

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

Par exemple :

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

Migration du schéma Active Directory vers NetIQ eDirectory via l'utilitaire ICE

Lors de la migration du schéma de Active Directory vers NetIQ eDirectory via l'utilitaire ICE pour la classe d'objet Computer, l'erreur -651 (concernant une ambiguïté dans les noms) s'affiche.

Pour résoudre ce problème, procédez comme suit :

Étape 1 : Exécutez l'opération de mise à jour du cache de schéma.

Lors de la migration du schéma de Active Directory vers NetIQ eDirectory via l'utilitaire ICE, vérifiez que vous avez fourni l'option de journal d'erreurs (-e) de l'utilitaire ICE comme suit :

ice -e error_file -S ldap -s Active_Directory_server -p Active_Directory_port -d Active_Directory_full_admin_context -w Active_Directory_password -D ldap -s eDirectory_server -p eDirectory_port -d eDirectory_full_admin_context -w eDirectory_password

Par exemple :

ice -e err.ldf -S ldap -s activesrv1 -p activeport1 -d cn=admin,o=company -w activepwd -D ldap -s edirsrv2 -p edirport2 -d cn=admin,o=company -w edirpwd

Étape 2 : Corrigez le fichier d'erreurs LDIF afin d'éliminer les erreurs.

L'entrée qui a échoué figure dans le fichier err.ldf comme indiqué ci-dessous :

dn: cn=schema
changetype: modify
delete: objectclasses
objectclasses: ( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' )
-
add: objectclasses
objectclasses: ( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' SUP (device $
 user ) STRUCTURAL MAY (operator $ server $ status $ cn $ networkAddress $
 local PolicyFlags $ defaultLocalPolicyObject $ machineRole $ location $
 netbootInitialization $ netbootGUID $ netbootMachineFilePath $ siteGUID $
 operatingSystem $ operatingSystemVersion $ operatingSystemServicePack $
 operatingSystemHotfix $ volumeCount $ physicalLocationObject $ dNSHostName
 $ policyReplicationFlags $ managedBy $ rIDSetReferences $ catalogs $
 netbootSIFFile $ netboot MirrorDataFile ) X-NDS_NOT_CONTAINER '1' X
 -NDS_NONREMOVABLE '1' X-NDS_NAME 'Computer' )
-

Modifiez cette entrée dans le fichier d'erreur (err.ldf dans l'exemple ci-dessous) pour supprimer la classe d'objet user de la liste des classes d'objet supérieures dans la définition de la classe d'objet Computer :

dn: cn=schema
changetype: modify
delete: objectclasses
objectclasses: ( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' )
-
add: objectclasses
objectclasses: ( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' SUP device
 STRUCTURAL MAY (operator $ server $ status $ cn $ networkAddress $ local
 PolicyFlags $ defaultLocalPolicyObject $ machineRole $ location $ 
 netbootInitialization $ netbootGUID $ netbootMachineFilePath $ siteGUID $
 operatingSystem $ operatingSystemVersion $ operatingSystemServicePack $
 operatingSystemHotfix $ volumeCount $ physicalLocationObject $ dNSHostName
 $ policyReplicationFlags $ managedBy $ rIDSetReferences $ catalogs $
 netbootSIFFile $ netbootMirrorDataFile ) X-NDS_NOT_CONTAINER '1' X
 -NDS_NONREMOVABLE '1' X-NDS_NAME 'Computer' )

Étape 3 : Importez le fichier LDIF.

Maintenant, importez l'entrée modifiée en utilisant la commande ICE suivante :

ice -S ldif -f LDIF_file -D ldap -s Novell_eDirectory_server -p port_number -d full_admin_context -w password

Par exemple :

ice -S ldif -f err.ldf -D ldap -s edirsrv1 -p edirport1 -d cn=admin,o=company -w pwd1

Migration de OpenLDAP vers NetIQ eDirectory

Les données migrées depuis un serveur OpenLDAP comportent parfois des mots de passe MD5, ce qui peut provoquer une interruption des applications si les méthodes NMAS appropriées ne sont pas installées. Pour NetIQ eDirectory, la méthode NMAS SimplePassword doit être installée à l'aide de la commande suivante :

nmasinst -addmethod contexte_adminnom_arborescencefichier_configuration -h nom_hôte:port-w mot_de_passe

Par exemple : nmasinst -addmethod admin.novell eDir-Tree /Linux/eDirectory/nmas/NmasMethods/Novell/SimplePassword/config.txt -h eDir_srv:524 -w secret

Migration du schéma OpenLDAP vers eDirectory

Pour migrer le schéma OpenLDAP vers eDirectory, procédez comme suit :

Étape 1 : Exécutez l'opération de mise à jour du cache de schéma.

Vous pouvez enregistrer les erreurs qui se sont produites lors de la comparaison du schéma dans un fichier d'erreurs à l'aide de la commande suivante :

ice -e error_file -C -a -S ldap -s OpenLDAP_server -p Open_LDAP_port - D ldap -s eDirectory_server -p eDirectory_port -d eDirectory_full_admin_context -w eDirectory_password

Par exemple :

ice -e err.ldf -C -a -SLDAP -s open_srv1 -p open_port1 -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=novell -w secret

Les éventuelles erreurs rencontrées lors de la comparaison du schéma sont inscrites dans le fichier d'erreurs (err.ldf dans l'exemple).

Étape 2 : Corrigez le fichier d'erreurs LDIF afin d'éliminer les erreurs.

Open LDAP détermine publiquement certaines définitions de schéma, dont les attributs tels que objectClasses, attributeTypes, ldapSyntaxes et subschemSubentry. Ces définitions existent de façon interne et sont d'une importance capitale pour le schéma ; elles ne peuvent donc pas être modifiées. Les opérations qui tentent de les modifier génèrent le message d'erreur suivant :

LDAP error : 53 (DSA is unwilling to perform)

Tous les enregistrements qui contiennent des références à ces définitions produisent l'erreur suivante :

LDAP error : 16 ( No such attribute )

Par conséquent, les enregistrements qui contiennent des références à ces objets ou qui tentent de modifier ces définitions doivent être commentés dans le fichier d'erreurs LDIF (err.ldf dans l'exemple).

Migration des données Open LDAP vers NetIQ eDirectory

Exécutez la commande suivante pour migrer les données :

ice -e error_data.ldif -SLDAP -s OpenLDAP_server -p OpenLDAP_port  -d admin_context  -w password -t -b dc=blr,dc=novell,dc=com -F objectclass=* -DLDAP -d  admin_context -w password  -l  -F

Par exemple :

ice -e err_data.ldif -SLDAP -s open_srv1 -p open_port1  -d cn=administrator,dc=blr,dc=novell,dc=com -w secret1 -t -b dc=blr,dc=novell,dc=com -F objectclass=* -DLDAP -d cn=admin,o=novell -w secret2 -l -F

La migration de certains objets peut également échouer en raison de références en aval et de dépendances internes entre les objets, mais cela n'implique pas nécessairement l'interruption des applications.

Compatibilité de PAM avec NetIQ eDirectory après la migration

Après une migration de OpenLDAP vers eDirectory, vous devez effectuer certaines modifications pour que PAM fonctionne avec eDirectory.

Modifications dans le fichier /etc/ldap.conf

# The distinguished name to bind to the server with.
# Optional: default is to bind anonymously.
  binddn cn=admin,o=acme
  ...
# The credentials to bind with.
# Optional: default is no credential.
  bindpw secret
  ...
# The search scope.
  scope sub
  ...
# Filter to AND with uid=%s
  pam_filter objectclass=inetorgperson
  ...
# Remove old password first, then update in
# cleartext. Necessary for use with Novell
# Directory Services (NDS)
  pam_password nds
  ...
  ssl off
  ...

Modifications des données de l'annuaire

Ces modifications ne concernent que le scénario pour lequel les objets Utilisateur dans OpenLDAP ont CRYPT comme algorithme de codage de mot de passe.

À l'aide d'iManager, ajoutez l'attribut suivant avec la valeur spécifiée dans le conteneur renfermant tous les objets Utilisateur :

Attribut : sasDefaultLoginSequence

Valeur : Simple Password