Порядок выполнения миграции схемы Sun ONE в NetIQ eDirectory.
Можно записать ошибки, возникшие при сравнении схемы с файлом ошибок. Для этого выполните следующую команду:
ice -e LDIF error file name -C -a -SLDAP -s Sun ONE server -p Sun ONE port -DLDAP -s eDirectory server -p eDirectory port
Например:
ice -e err.ldf -C -a -SLDAP -s sun_srv1 -p sun_port1 -DLDAP -s edir_srv2 -p edir_port2
Все ошибки, возникшие при сравнении схемы записываются в файл ошибок (в данном примере — err.ldf). Для выполнения этой операции необязательно входить в систему. Исключение составляют те случаи, когда серверы требуют аутентификации для чтения Root DSE. Microsoft Active Directory требует аутентификации для чтения Root DSE.
В Sun ONE некоторые схемы определены публично, чего нет в eDirectory. Это справедливо для атрибутов, таких как objectClasses, attributeTypes, ldapSyntaxes и subschemSubentry. Эти определения существуют внутри и очень важны для схемы, поэтому их невозможно изменить. Операции, направленные на изменение этих определений, приводят к следующей ошибке:
LDAP error : 53 (DSA is unwilling to perform)
Любые записи, содержащие ссылки на эти определения, приводят к следующей ошибке:
LDAP error : 16 : ( No such attribute )
Поэтому записи, которые содержат любую ссылку на эти объекты или пытаются изменить эти определения, необходимо закомментировать в файле ошибок LDIF (в данном примере это файл err.ldf).
Некоторые определения классов объекта не имеют атрибутов наименования. Добавление этих классов объекта приведет к возврату следующей ошибки в eDirectory:
LDAP error : 80 (NDS error: ambiguous naming (-651)
Эта ошибка происходит, поскольку в Sun ONE и eDirectory используются разные методы определения правил наименования.
Для разрешения этой проблемы можно использовать любую из трех указанных ниже возможностей.
Вариант 1.
Просмотрите все нарушенные классы объекта и добавьте действительный атрибут наименования в каждый из них.
Например:
Чтобы добавить атрибут наименования [ cn ] в класс объекта netscapeMachineData, измените запись (которая выделена в примере ниже) в файле err.ldf для включения флага 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’ )-
Вариант 2.
Просмотрите все нарушенные классы объекта и измените их определение на AUXILIARY или ABSTRACT.
Например:
Чтобы изменить определение класса объекта netscapeMachineData с STRUCTURAL на AUXILIARY, измените запись файла err.ldf (которая выделена в примере ниже) как показано ниже:
dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’
DESC ’iPlanet defined objectclass’ SUP top AUXILIARY )-
Чтобы изменить определение класса объекта netscapeMachineData с STRUCTURAL на ABSTRACT, измените запись файла err.ldf (которая выделена в примере ниже) как показано ниже:
dn: cn=schemachangetype: modifyadd: objectClassesobjectClasses: ( 2.16.840.1.113730.3.2.32 NAME ’netscapeMachineData’
DESC ’iPlanet defined objectclass’ SUP top ABSTRACT )-
Вариант 3.
Добавьте cn в определение Top в eDirectory, в результате чего потенциальные атрибуты наименования будут добавлены во все классы объекта.
Есть два способа добавить cn в Top.
Метод 1:
Создайте файл, как показано ниже, и назовите его 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)
Выполните следующую команду NetIQ Import Conversion Export:
ice -SLDIF -f LDIF_file_name -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password
Например:
ice -SLDIF -f topsch.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1
Метод 2:
1. В NetIQ iManager нажмите кнопку
.2. Последовательно выберите пункты
> .3. В списке
выберите и нажмите кнопку .4. В списке
дважды щелкните .5. Нажмите кнопку
.В некоторых определениях класса объекта имеется атрибут userPassword, который входит в список обязательных атрибутов. Добавление таких классов объекта в eDirectory приведет к возврату следующей ошибки:
LDAP error : 16 (No such attribute)
Чтобы устранить эту ошибку, измените определение класса объекта таким образом, чтобы он наследовал новый класс объекта из ndsLoginProperties, и удалите атрибут userPassword из списка обязательных атрибутов.
Например:
Класс объекта, содержащий атрибут userPassword из списка обязательных атрибутов:
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 )
Необходимо внести указанные ниже изменения (обратите внимание на изменения в последней строке):
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 )
Воспользуйтесь следующей командой NetIQ Import Conversion Export для импорта измененного файла сравнения схемы LDIF (err.ldf в данном примере):
ice -e error_file -SLDIF -f modified_LDIF_file -DLDAP -s eDirectory_server -p eDirectory_port -d eDirectory_Admin_DN -w eDirectory_password
Например:
ice -e errors.ldf -SLDIF -f err.ldf -DLDAP -s edir_srv2 -p edir_port2 -d cn=admin,o=org -w pwd1