Многие онлайн-руководства показывают, как использовать Samba и Winbind для присоединения Linux к домену Active Directory.
В этой статье мы покажем альтернативный способ добавления компьютера или сервера Linux в домен с использованием realmd (Realm Discovery) и SSSD (System Security Services Daemon).
В этой статье мы покажем, как присоединить сервер CentOS 8.1 к вашему домену Active Directory (на основе Windows Server 2016).
Realmd позволяет настраивать аутентификацию и членство в домене (в AD или IPA / FreeIPA) без сложных настроек.
Информация о домене обнаруживается автоматически.
Realmd использует SSSD для аутентификации и проверки учетных записей пользователей.
Чтобы успешно присоединиться к домену Active Directory, вам необходимо выполнить следующие требования на вашем сервере CentOS:
- Настройте синхронизацию времени с контроллером домена Active Directory (и ваш DC с ролью PDC должен синхронизировать время с внешним NTP-сервером). В противном случае SSSD не сможет работать правильно. Этот сервис поддерживает только Kerberos (и не может использоваться для аутентификации с использованием NTLM). Соответственно, разница во времени между DC и Linux-клиентом не должна превышать 5 минут.
- В Linux Centos необходимо настроить DNS-клиент для использования службы DNS на контроллерах домена.
Установите клиент NTP (chrony) на CentOS:
# yum install -y chrony
Затем в файле конфигурации /etc/chrony.conf укажите полные доменные имена или IP-адреса серверов NTP для синхронизации (это могут быть контроллеры домена AD):
# nano /etc/chrony.conf server dc01.test.com iburst
Запустите службу NTP и добавьте ее в автозапуск:
# systemctl start chronyd # systemctl enable chronyd
# nano /etc/resolv.conf search test.com nameserver 192.168.1.201 nameserver 192.168.1.200
Теперь установите необходимые пакеты из репозитория CentOS:
# yum install adcli krb5-workstation realmd sssd
Заметка. Если вы используете другой дистрибутив Linux или более старую версию CentOS, убедитесь, что версия пакета SSSD новее 1.9.0. Полная поддержка AD в SSDD появилась только с этой версии. В нашем примере используется sssd-2.2.
# realm discover test.com --verbos
Если утилита успешно обнаружит ваш домен AD, появится следующий ответ:
* Resolving: _ldap._tcp.test.com * Performing LDAP DSE lookup on: 192.168.1.201 * Successfully discovered: test.com test.com type: kerberos realm-name: TEST.COM domain-name: test.com 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
# nano /etc/realmd.conf [active-directory] os-name = CentOS Linux os-version = 8.1.1911 (Core)
# realm join --user=jbrion --computer-ou="OU=Servers,OU=UK,DC=test,DC=com" test.com
Утилита предложит вам ввести пароль пользователя AD.
После выполнения команды откройте консоль Active Directory – пользователи и компьютеры (dsa.msc) и убедитесь, что учетная запись вашего сервера CentOS отображается в указанном контейнере AD.
Выполните команду realm list и убедитесь, что отображается строка server-software: active-directory.
Это означает, что этот сервер является членом домена Active Directory.
Чтобы не указывать полное доменное имя при входе пользователей в систему, вы можете добавить строку в файл /etc/sssd/sssd.conf:
use_fully_qualified_names = False