Per eseguire la migrazione dello schema da Sun ONE a NetIQ eDirectory, effettuare le operazioni seguenti:
È possibile scrivere in un file gli eventuali errori rilevati durante il confronto dello schema utilizzando il comando seguente:
ice -e LDIF error file name -C -a -SLDAP -s Sun ONE server -p Sun ONE port -DLDAP -s eDirectory server -p eDirectory port
Ad esempio:
ice -e err.ldf -C -a -SLDAP -s sun_srv1 -p sun_port1 -DLDAP -s edir_srv2 -p edir_port2
Eventuali errori riscontrati durante il confronto dello schema vengono scritti nel file degli errori (err.ldf nell'esempio). Per effettuare questa operazione non è necessario eseguire il login, a meno che uno dei server non richieda l'autenticazione per leggere la DSE radice. In Microsoft Active Directory è necessaria l'autenticazione per leggere la DSE radice.
In Sun ONE alcune definizioni dello schema sono pubbliche, mentre in eDirectory non lo sono. Fra queste si ricordano attributi quali objectClasses, attributeTypes, ldapSyntaxes e subschemSubentry. Poiché queste definizioni sono interne allo schema e molto importanti, non è possibile modificarle. Le operazioni che tentano di modificare tali definizioni generano l'errore seguente:
Errore LDAP: 53 (DSA non disponibile per l'esecuzione)
Tutti i record che contengono riferimenti a queste definizioni generano l'errore seguente:
Errore LDAP: 16: (Attributo inesistente)
Pertanto, i record che contengono eventuali riferimenti a tali oggetti o tentano di modificare dette definizioni devono essere contrassegnati come commenti nel file degli errori LDIF (err.ldf nell'esempio).
Alcune definizioni delle classi di oggetti in Sun ONE non includono attributi di denominazione. Se si aggiungono queste classi di oggetti in eDirectory viene generato l'errore seguente:
Errore LDAP: 80 (Errore NDS: denominazione ambigua (-651)
Questo errore si verifica perché Sun ONE non utilizza lo stesso metodo di eDirectory per stabilire le regole di denominazione.
Per risolvere il problema, è possibile utilizzare una qualsiasi delle tre opzioni seguenti:
Opzione 1:
Esaminare tutte le classi di oggetti non conformi e aggiungere a ciascuna di esse un attributo di denominazione valido.
Ad esempio:
Per aggiungere l'attributo di denominazione [ cn ] alla classe di oggetti netscapeMachineData, modificare la voce (in grassetto nell'esempio seguente) nel file err.ldf includendo il flag X-NDS_NAMING come illustrato di seguito:
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’ )-
Opzione 2:
Esaminare tutte le classi di oggetti non conformi e impostarle come AUXILIARY o ABSTRACT.
Ad esempio:
Per modificare la definizione della classe di oggetti netscapeMachineData impostando AUXILIARY al posto di STRUCTURAL, modificare la voce nel file err.ldf (in grassetto nell'esempio che segue) come illustrato di seguito:
dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’
DESC ’iPlanet defined objectclass’ SUP top AUXILIARY )-
Per modificare la definizione della classe di oggetti netscapeMachineData impostando ABSTRACT al posto di STRUCTURAL, modificare la voce nel file err.ldf (in grassetto nell'esempio che segue) come illustrato di seguito:
dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’
DESC ’iPlanet defined objectclass’ SUP top ABSTRACT )-
Opzione 3:
Aggiungere cn alla definizione di Top in eDirectory, che comporta un possibile attributo di denominazione per tutte le classi di oggetti.
Esistono due metodi per aggiungere cn a Top:
Metodo 1:
Creare un file come illustrato di seguito e nominarlo 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)
Utilizzare la riga di comando seguente dell'utility di importazione, conversione ed esportazione di NetIQ:
ice -SLDIF -f LDIF_file_name -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password
Ad esempio:
ice -SLDIF -f topsch.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1
Metodo 2:
1. In NetIQ iManager, fare clic sul pulsante
.2. Fare clic su
> .3. Nell'elenco
, selezionare e fare clic su .4. Fare doppio clic su
nell'elenco .5. Fare clic su
.Alcune definizioni delle classi di oggetti contengono userPassword nel proprio elenco di attributi obbligatori. L'aggiunta di tali classi di oggetti in eDirectory genera l'errore seguente:
Errore LDAP: 16: (Attributo inesistente)
Per risolvere il problema, modificare la definizione della classe di oggetti affinché erediti la nuova classe di oggetti da ndsLoginProperties e rimuovere l'attributo userPassword dall'elenco degli attributi obbligatori.
Ad esempio:
Una classe di oggetti contenente userPassword nell'elenco degli attributi obbligatori:
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 )
Deve essere modificata come segue (si noti la modifica nell'ultima riga):
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 )
Per importare il file LDIF di confronto con lo schema modificato (err.ldf nell'esempio), utilizzare il seguente comando dell'utility di importazione, conversione ed esportazione di NetIQ:
ice -e error_file -SLDIF -f modified_LDIF_file -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password
Ad esempio:
ice -e errors.ldf -SLDIF -f err.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1