Pour migrer le schéma Sun ONE vers NetIQ eDirectory, exécutez les étapes suivantes :
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.
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 ’cn’ 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
.2. Cliquez sur
> .3. Dans la liste
, sélectionnez , puis cliquez sur .4. Double-cliquez sur
dans la liste .5. Cliquez sur
.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 )
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