Active Directory (AD) — службы каталогов корпорации Microsoft для операционных систем семейства Windows Server. На данный момент это самый популярный инструмент организации доменной структуры в компаниях и организациях.
Данная статья не будет заострять внимание на особенностях разворачивания и настройки Active Directory, предполагается, что домен у вас уже настроен.
Windows Server 2019 с ролями:
В качестве DHCP-сервера выступает сетевой шлюз (роутер).
Для того, чтобы иметь возможность предоставлять права доменным пользователям на управление ПК с операционной системой Uncom OS, вам необходимо скачать с сайта sudo.ws последнюю версию пакета sudo, распаковать архив, в папке /docs
найти файл schema.ActiveDirectory
и переместить его на ваш сервер.
Схема импортируется в AD с помощью Powershell (запустить от имени администратора из каталога, в котором лежит файл схемы), командой
ldifde -i -f schema.ActiveDirectory -c dc=X dc=unc,dc=tst
Не забудьте заменить имя домена на своё.
После этого вам необходимо в корне домена создать подразделение sudoers
. По умолчанию именно в этом подразделении демон sssd производит поиск sudoRole
объектов.
Далее, открываем adsiedit.msc
и подключаемся к контексту по умолчанию:
В подразделении sudoers
создаем объект, принадлежащий классу sudoRole
:
Имя может быть выбрано произвольно, так как служит только для удобной идентификации
Из атрибутов объектов типа sudoRole нас интересуют следующие:
ВАЖНО! Настоятельно не рекомендуется использовать в наименовании домена суффикс
.local
. Он зарезервирован для Multicast-DNS и его сервисов, таких, как zeroconf, avahi и Bonjour. В случае, если имя вашего домена имеет суффикс.local
, вам придётся отключить использование mDNS через редактирование файла конфигурации/etc/nsswitch.conf
Установите необходимые пакеты с помощью команды
sudo apt -y install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit libsss-sudo
Проверим, что наш хост может обнаружить домен AD с помощью команды
sudo realm discover -v unc.tst
Упомянутые в требованиях пакеты мы установили на предыдущем шаге, все требования выполнены, можно присоединять хост к домену.
Если вы хотите сменить имя хоста перед присоединением к домену, это можно сделать с помощью команды
sudo hostnamectl set-hostname "имя-хоста"
Для присоединения нашего ПК к домену воспользуемся командой:
sudo realm join -U "имя_пользователя_с_правами_на присоединение_к_домену" "имя_домена"
Если вы хотите увидеть детали процесса присоединения, добавьте опцию -v
или --verbose
Система запросит пароль учётной записи с правми на присоединение к домену. После успешного присоединения вы увидите следующий текст:
Проверим, что наш хост действительно присоединен к домену командой
sudo realm list
В каталоге Active Directory также появилась запись с введённым в домен хостом:
Для того, чтобы Uncom OS могла использовать настройки прав пользователей, произведённых в Active Directory, необходимо внести правки в файлы конфигурации службы sssd:
/etc/nsswitch.conf
добавляем в конец файла строку:/etc/sssd/sssd.conf
в секции [sssd] в сервисы добавляем sudoВход под доменными учетными записями осуществляется в формате имени пользователя UPN (имя@доменное.имя). Для входа под домённой учетной записью нужно нажать на "Нет в списке?"
Проверим вход под двумя пользователями, один из них состоит в группе безопасности sudo_root, второй нет.
Начнём с учётной записи суперпользователя:
Теперь проверим учётную запись с ограниченными правами:
Для отсоединения ПК под управлением Uncom OS от домена, необходимо зайти под учётной записью локального суперпользователя и воспользоваться командой
sudo realm leave -v "имя_домена"
Проверим список доменов, в которых состоит наш ПК:
Вывод команды sudo realm list
является пустым, ПК успешно отсоединён от домена.
При этом домашние папки доменных пользователей остались доступными для локальных суперпользователей: