ActiveDirectory/Migration/ADMT
В данной статье рассмотрен процесс миграции пользователей, групп и подразделений с домена Microsoft Active Directory (MS AD) на Samba Active Directory (Samba AD) с использованием инструмента ADMT. В качестве примера используются два домена:
- alt.trust — домен на контроллере ALT Server.
- wind.trust — домен на контроллере Windows Server 2019.
Подготовка к миграции
Для успешной миграции необходимо выполнить следующие шаги:
- Настройка двустороннего доверительного отношения
- Перед началом миграции необходимо настроить двусторонние доверительные отношения между доменами alt.trust и wind.trust. Подробное руководство доступно по этой ссылке.
- Установка SQL Server Express 2019
- На контроллере домена Windows Server 2019 требуется установить SQL Server Express 2019, так как инструмент ADMT использует SQL Server для хранения данных миграции. Скачать SQL Server Express 2019 можно с официального сайта Microsoft по этой ссылке.
- Установка ADMT 3.2
- Скачайте и установите инструмент Active Directory Migration Tool (ADMT) 3.2 с официального сайта Microsoft.
- Добавление администратора домена wind.trust в группу Administrators домена alt.trust
- Для выполнения миграции администратор доменаwind.trust должен быть добавлен в группу Administrators в домене alt.trust. Это требуется для обеспечения необходимых прав на выполнение операций миграции.
- Шаги для добавления:
- Получение SID пользователя "Администратор" из домена wind.trust
- На контроллере домена alt.trust выполните следующую команду, чтобы получить SID пользователя "Администратор":Результат:
# wbinfo -n WIND\\Администратор
SID пользователя понадобится на следующем шаге.S-1-5-21-3089077194-1592654026-120093331-500 SID_USER (1)
- На контроллере домена alt.trust выполните следующую команду, чтобы получить SID пользователя "Администратор":
- Добавление пользователя в группу Administrators
- Используя полученный SID, добавьте пользователя "Администратор" в группу Administrators:Результат:
# samba-tool group addmembers administrators S-1-5-21-3089077194-1592654026-120093331-500
Added members to group administrators
- Используя полученный SID, добавьте пользователя "Администратор" в группу Administrators:
- Проверка добавления пользователя
- Убедитесь, что пользователь был успешно добавлен в группу Administrators, выполнив следующую команду:Результат:
# samba-tool group listmembers administrators
Если SID отображается в списке, настройка завершена успешно.Domain Admins Enterprise Admins Administrator S-1-5-21-3089077194-1592654026-120093331-500
- Убедитесь, что пользователь был успешно добавлен в группу Administrators, выполнив следующую команду:
- Получение SID пользователя "Администратор" из домена wind.trust
Миграция подразделений (OU)
В ADMT не предусмотрено прямое выполнение миграции подразделений (OU). Однако можно экспортировать подразделения, а затем импортировать их в новый домен. Для этого необходимо выполнить следующие шаги:
- Экспорт подразделений с помощью утилиты ldifde
- На контроллере домена Windows Server 2019 используем утилиту ldifde для создания файла экспорта, который будет содержать информацию о подразделениях в домене wind.trust. Для этого выполните следующую команду в cmd с указанием имени и пути создаваемого файла(C:\OUExport.ldif), а так же именем домена(DC=wind,DC=trust):Пример вывода:
C:\Users\Администратор> ldifde -f C:\OUExport.ldif -d "DC=wind,DC=trust" -p subtree -r "(objectClass=organizationalUnit)" -l "dn,objectClass"
Файл OUExport.ldif будет содержать информацию о подразделениях в домене.Connecting to "DC1.wind.trust" Logging in as current user using SSPI Exporting directory to file C:\OUExport.ldif Searching for entries... Writing out entries... 3 entries exported The command has completed successfully
- На контроллере домена Windows Server 2019 используем утилиту ldifde для создания файла экспорта, который будет содержать информацию о подразделениях в домене wind.trust. Для этого выполните следующую команду в cmd с указанием имени и пути создаваемого файла(C:\OUExport.ldif), а так же именем домена(DC=wind,DC=trust):
- Перемещение файла на контроллер домена ALT Server
- Переместите полученный файл OUExport.ldif на контроллер домена ALT Server. Для этого можно использовать общий диск или любой другой доступный способ передачи файла.
- Подготовка файла OUExport.ldif для импорта в новый домен
- Для корректной работы с файлом в новом домене необходимо произвести несколько изменений.
- Преобразование файла в формат Unix
- Чтобы работать с файлом в Unix-системах, его нужно преобразовать в формат Unix. Для этого используем утилиту dos2unix. Установите программу из репозитория и выполните преобразование:
# dos2unix /srv/shared/OUExport.ldif dos2unix: преобразование файла /srv/shared/OUExport.ldif в формат Unix…
- Чтобы работать с файлом в Unix-системах, его нужно преобразовать в формат Unix. Для этого используем утилиту dos2unix. Установите программу из репозитория и выполните преобразование:
- Замена имени домена и удаление информации о подразделении Domain Сontrollers
- В файле OUExport.ldif нужно удалить информацию о подразделении Domain Controllers, чтобы избежать возможных конфликтов при экспорте, а также заменить имя домена с wind на alt.
- Для замены имени домена во всём файле используйте команду sed:
# sed -i 's/DC=wind/DC=alt/g' /srv/shared/OUExport.ldif
- Преобразование файла в формат Unix
- Пример содержания фала OUExport.ldif:
- До изменений:
dn: OU=Domain Controllers,DC=wind,DC=trust changetype: add objectClass: top objectClass: organizationalUnit dn: OU=OU1,DC=wind,DC=trust changetype: add objectClass: top objectClass: organizationalUnit dn: OU=OU2,DC=wind,DC=trust changetype: add objectClass: top objectClass: organizationalUnit
- После изменений:
dn: OU=OU1,DC=alt,DC=trust changetype: add objectClass: top objectClass: organizationalUnit dn: OU=OU2,DC=alt,DC=trust changetype: add objectClass: top objectClass: organizationalUnit
- До изменений:
- Для корректной работы с файлом в новом домене необходимо произвести несколько изменений.
- Импорт подразделений в Samba
- После выполнения всех изменений в файле OUExport.ldif, можно импортировать его в Samba с помощью команды ldbadd:
# ldbadd -H /var/lib/samba/private/sam.ldb /srv/shared/OUExport.ldif Added 2 records successfully
- После выполнения всех изменений в файле OUExport.ldif, можно импортировать его в Samba с помощью команды ldbadd:
- Проверка экспорта подразделений в Samba
- Для проверки импорта подразделений в Samba используйте samba-tool:Необходимые подразделения OU1 и OU2 отображаются в списке. Миграция подразделений успешно выполнена.
# samba-tool ou list OU=OU1 OU=OU2 OU=Domain Controllers
- Для проверки импорта подразделений в Samba используйте samba-tool:
Миграция групп
Для выполнения миграции групп в данном примере используется Active Directory Migration Tool (ADMT). Один из важных моментов при работе с ADMT заключается в том, что группу можно мигрировать вместе с её пользователями, без необходимости выполнения отдельных действий для переноса пользователей. Однако если миграция группы выполняется одновременно с её участниками, все пользователи будут перемещены в то же подразделение (OU), что и группа.
Например, в исходном домене:
- OU1 содержит трёх пользователей: test1, test2, test3.
- OU2 содержит группу Group1.
Если при миграции группы Group1 в новый домен её участники будут переноситься одновременно, то все пользователи (test1, test2, test3) окажутся в том же OU, что и группа, а именно в OU2 на целевом сервере Samba. Это может нарушить исходную структуру домена. Поэтому целесообразно мигрировать группы и пользователей раздельно, если они не принадлежат одному и тому же подразделению.
Пошаговая инструкция по миграции групп с использованием ADMT
- Запуск ADMT и выбор параметров миграции
- Откройте ADMT на сервере с Windows Server 2019.
- На панели программы выберите «Action» → Group Account Migration Wizard.
- В появившемся окне выберите:
- Исходный домен: wind.trust (контроллер: \DC1.wind.trust).
- Целевой домен: alt.trust (контроллер: \DC2.wind.trust).
- Нажмите Далее.
- Выбор группы для миграции
- В разделе Select Groups from Domain выберите группу, которую нужно перенести, например, Group1.
- Нажмите Далее.
- Указание целевого OU
- Укажите целевое подразделение (OU) для миграции группы. В данном примере это OU2.
- Нажмите Далее.
- Настройка параметров группы
- В разделе Group Options: Если необходимо перенести группу вместе с её участниками, установите галочку Copy Group Members. Если перенос пользователей вместе с группой не требуется, оставьте параметры по умолчанию.
- Нажмите Далее.
- Исключение атрибутов
- В разделе Object Property Exclusion можно исключить определённые атрибуты группы из процесса миграции.
- В данном примере оставьте настройки по умолчанию и нажмите Далее.
- Управление конфликтами
- В окне Conflict Management задаются параметры для разрешения конфликтов при миграции. Например, при совпадении имён объектов.
- Оставьте настройки по умолчанию и нажмите Далее.
- Завершение миграции
- После проверки настроек нажмите Готово.
- В появившемся окне будет отображён процесс миграции, а также статус её завершения. Убедитесь, что миграция завершилась без ошибок.
- Проверка на целевом домене
- На целевом домене, куда осуществлялась миграция группы Group1, выполните команду samba-tool group list и проверьте наличие группы в списке:
# samba-tool group list Certificate Service DCOM Access Group1
- На целевом домене, куда осуществлялась миграция группы Group1, выполните команду samba-tool group list и проверьте наличие группы в списке:
Миграция пользователей
Миграция пользователей осуществляется с помощью Active Directory Migration Tool (ADMT). Этот процесс включает перенос учетных записей пользователей из исходного домена в целевой, с возможностью настройки паролей, сохранения членства в группах и других параметров.
Пошаговая инструкция по миграции пользователей
- Запуск ADMT и настройка параметров миграции
- Запустите ADMT на сервере с Windows Server 2019.
- На панели программы выберите «Action» → User Account Migration Wizard.
- В появившемся окне укажите:
- Исходный домен: wind.trust (контроллер: \DC1.wind.trust).
- Целевой домен: alt.trust (контроллер: \DC2.wind.trust).
- Нажмите Далее.
- Выбор пользователей для миграции
- В разделе Select Users from Domain выберите учетные записи, которые необходимо перенести. Например, test1, test2, test3.
- Нажмите Далее.
- Указание целевого OU
- Укажите целевое подразделение (OU) для миграции пользователей. В данном примере это OU1.
- Нажмите Далее.
- Настройка параметров паролей
- В разделе Password Options выберите Generate Complex Passwords. Это позволит автоматически сгенерировать сложные пароли для перенесённых учетных записей. После завершения миграции будет создан файл на сервере Windows Server 2019 по пути: C:\Windows\ADMT\Logs\passwords.txt. Файл будет содержать список пользователей и их новые автоматически сгенерированные пароли, которые должны быть изменены пользователями при первом входе в систему. Пример содержания файла passwords.txt, каждая строка соответствует имени пользователя и его новому паролю :
test1,n34F$F6p@xQ# test2,5HA5b8!q+^rQ test3,2pRr%9T+L3#u
- Нажмите Далее.
- В разделе Password Options выберите Generate Complex Passwords. Это позволит автоматически сгенерировать сложные пароли для перенесённых учетных записей. После завершения миграции будет создан файл на сервере Windows Server 2019 по пути: C:\Windows\ADMT\Logs\passwords.txt. Файл будет содержать список пользователей и их новые автоматически сгенерированные пароли, которые должны быть изменены пользователями при первом входе в систему. Пример содержания файла passwords.txt, каждая строка соответствует имени пользователя и его новому паролю :
- Настройка перехода учетных записей
- В окне Account Transition Options выберите параметр Target same as source, если нет необходимости применять другие настройки.
- Нажмите Далее.
- Настройка членства в группах
- В разделе User Options выберите Fix Users' Membership. Эта настройка автоматически добавляет пользователей в группы целевого домена, соответствующие их участию в исходных группах.
- Нажмите Далее.
- Исключение атрибутов
- В разделе Object Property Exclusion можно исключить определённые атрибуты учетных записей из процесса миграции.
- В данном примере оставьте настройки по умолчанию. Нажмите Далее.
- Управление конфликтами
- В разделе Conflict Management задайте параметры для разрешения конфликтов, например, при совпадении имён учетных записей.
- Оставьте настройки по умолчанию.
- Нажмите Далее.
- Завершение миграции
- Проверьте параметры, нажмите Готово.
- В появившемся окне отобразится процесс миграции и статус её завершения. Убедитесь, что миграция завершилась без ошибок.
- Проверка наличия пользователей в целевом домене
- После завершения миграции выполните проверку наличия пользователей в домене alt.trust. Используйте следующую команду:Пользователи test1, test2, test3 успешно перенесены из домена wind.trust в alt.trust.
# samba-tool user list Guest Administrator test1 test2 krbtgt test3
- После завершения миграции выполните проверку наличия пользователей в домене alt.trust. Используйте следующую команду:
- Проверка членства в группах
- Для проверки принадлежности пользователей к группам используйте команду samba-tool user show. Например, для пользователя test1:Данный результат показывает, что пользователь test1 находится в подразделении OU1 и состоит в группе Group1. Аналогичным образом можно проверить остальных пользователей.
# samba-tool user show test1 dn: CN=test1,OU=OU1,DC=alt,DC=trust objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: test1 ... memberOf: CN=Group1,OU=OU2,DC=alt,DC=trust distinguishedName: CN=test1,OU=OU1,DC=alt,DC=trust
- Для проверки принадлежности пользователей к группам используйте команду samba-tool user show. Например, для пользователя test1:
Вывод
Миграция домена с Microsoft Active Directory на Samba Active Directory показала, что, несмотря на ограничение ADMT в переносе подразделений (OU), процесс можно успешно реализовать с использованием дополнительных инструментов. Для миграции подразделений применялась утилита ldifde на Windows Server 2019 для экспорта данных и последующий импорт их в Samba с помощью ldbadd, что позволило сохранить структуру домена.
ADMT продемонстрировал свою работоспособность при переносе учетных записей пользователей и групп, обеспечив сохранение их членства в группах. Процесс требует тщательной подготовки, включая настройку доверительных отношений между доменами и управление правами доступа. Итогом стала успешная миграция объектов.