Во многих мануалах в Интернете для присоединения Linux к домену Active Directory используется Samba и Winbind. В этой статье мы покажем альтернативный способ добавления в домен с помощью пакета realmd (Realm Discovery) и службы SSSD (System Security Services Daemon). В этой статье мы покажем, как добавить сервер CentOS 8.1 в ваш домен Active Directory (на базе Windows Server 2016).
Realmd позволяет произвести настройку сетевой аутентификации и членства в домене (AD или IPA/FreeIPA) без сложных настроек. Информация о домене обнаруживается автоматически. Realmd использует SSSD для аутентификации и проверки учетных записей.
Для успешного присоединения и членства в домене Active Directory вам нужно выполнить следующие требования:
- Настроить синхронизацию времени с контроллером домена Active Directory. Иначе SSSD не сможет корректно работать, т.к. эта служба поддерживает только Kerberos (не может использовать NTLM для аутентификации в домене). Соответственно разница во времени между DC и Linux клиентом не должна быть больше 5 минут.
- Необходимо изменить настройки DNS на клиенте Linux CentOS. Он должен указывать на DNS сервер на контроллерах домена AD.
Установите в CentOS клиент ntp chrony:
# yum install -y chrony
Затем в конфигурационном файле /etc/chrony.conf укажите адреса NTP серверов для синхронизации времени (это могут быть ваши контроллеры домена AD).
# nano /etc/chrony.conf
server dc01.test.com iburst
Запустите службу NTP и добавьте ее в автозагрузку
# systemctl start chronyd
# systemctl enable chronyd
Теперь в файл /etc/resolv.conf добавьте адреса DNS-серверов, которые отвечают за разрешение имён в вашем домене Active Directory:
# nano /etc/resolv.conf
search vmblog.ru nameserver 192.168.1.201 nameserver 192.168.1.200
Теперь нужно установить необходимые пакеты из репозитория CentOS:
# yum install adcli krb5-workstation realmd sssd
Проверьте, что утилита rearm может обнаружить ваш домен:
# realm discover vmblog.ru –verbos
Если утилита успешно обнаружит ваш домен AD, появится примерно такой лог:
* Resolving: _ldap._tcp.vmblog.ru * Performing LDAP DSE lookup on: 192.168.1.201 * Successfully discovered: vmblog.ru vmblog.ru type: kerberos realm-name: VMBLOG.RU domain-name: vmblog.ru configured: no server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools
Теперь в конфигурационном файле /etc/realmd.conf нужно указать значения атрибутов operatingSystem и operatingSystemVersion.
# nano /etc/realmd.conf
[active-directory] os-name = CentOS Linux os-version = 8.1.1911 (Core)
Теперь можно добавить ваш сервер CentOS в Active Directory. Для этого используется команда realm join
. В следующей команде мы указали имя пользователя с правами добавления в домен и OU, в который нужно поместить учетную запись вашего компьютера Linux.
# realm join --user=aivanov --computer-ou="OU=Servers,OU=MSK,DC=vmblog,DC=ru" vmblog.ru
Утилита запросит пароль пользователя AD. После выполнения команды откройте консоль Active Directory Users and Computers (dsa.msc), и убедитесь, что в указанном контейнере AD появилась учетная запись для вашего сервера CentOS.
Выполните команду realm list
и убедитесь, что появилась строка
server-software: active-directory
Это означает что данный сервер является членом домена Active Directory.
Чтобы не вводить полное имя домена при входе пользователей, можете добавить в файл /etc/sssd/sssd.conf строку:
use_fully_qualified_names = False