Как использовать realmd в Ubuntu 14.04 LTS для присоединения к домену Active Directory?

9

Я хочу использовать, realmdчтобы присоединиться к домену Active Directory из Ubuntu 14.04 LTS.

Чтобы сделать это , я только что установили realmdи некоторые зависимости с помощью этой команды: aptitude install realmd sssd sssd-tools samba-common krb5-user.

После установки я попытался присоединиться к своему домену с помощью команды, realm --verbose join ad.example.com -U Administratorкоторая запрашивала пароль администратора, но они потерпели крах с таким выводом:

 * Resolving: _ldap._tcp.ad.example.com
 * Performing LDAP DSE lookup on: 10.7.0.2
 * Successfully discovered: ad.example.com
Password for Administrator: 
 * Unconditionally checking packages
 * Resolving required packages
 * Installing necessary packages: samba-common-bin
 * LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.QARGGX -U Administrator ads join ad.example.com
Enter Administrator's password:DNS update failed: NT_STATUS_INVALID_PARAMETER

Using short domain name -- AD-EXAMPLE
Joined 'REALMD-TEST' to dns domain 'ad.example.com'
No DNS domain configured for realmd-test. Unable to perform DNS Update.
 * LANG=C LOGNAME=root /usr/bin/net -s /var/cache/realmd/realmd-smb-conf.QARGGX -U Administrator ads keytab create
Enter Administrator's password:
realm: Couldn't join realm: Message did not receive a reply (timeout by message bus)

После того, как эти ошибки realmdдаже не работают, любая команда, выданная с realmdвозвращаемым значением:

realm: Couldn't connect to realm service: Error calling StartServiceByName for 
org.freedesktop.realmd: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildSignaled: 
Process /usr/lib/dbus-1.0/dbus-daemon-launch-helper received signal 11

Файл /etc/sssd/sssd.confсоздается правильно и /etc/nsswitch.confсоответствующим образом изменен. Но этого недостаточно, чтобы успешно присоединиться к домену.

Винициус Ферран
источник
У меня точно такая же проблема с Debian Jessie. «Сигнал 11» означает «ошибка». Segfault всегда является ошибкой в ​​программе, поэтому я ожидаю, что об этом нужно сообщить как об ошибке и исправить ее, прежде чем ее можно будет заставить работать.
Джереми Виссер

Ответы:

7

Я обрисовал в общих чертах все шаги, необходимые, чтобы получить это и работать. Существует ряд ошибок, касающихся установки пакетов. Все базовое программное обеспечение работает отлично, но есть несколько шагов, которые вы должны предпринять, чтобы все заработало: http://funwithlinux.net/2014/04/join-ubuntu-14-04-to-active-directory-domain -при-realmd

Укороченная версия:

  1. Добавьте следующее к /etc/realmd.conf

    [service]
    automatic-install = no

  2. Далее установите следующие пакеты: samba-common-bin, samba-libs, sssd-tools, krb5-user, adcli

  3. Получите билет Kerberos для своего пользователя AD.

  4. Присоединиться в автоматическом режиме с новым пользователем-участником (в одну строку):

realm --verbose join localdomain.xx --user-principal=myubuntuserver/DomainAdmin@LOCALDOMAIN.XX --unattended

  1. Упомянутая вами ошибка связана с известной ошибкой (по крайней мере, она известна в настоящее время Fedora / RH) в sssd. sssd segfaults для опции, use_fully_qualified_names = Trueтак что продолжайте и закомментируйте эту опцию и перезапустите sssd.
Майкл Гуджино
источник
6

Я попытался принять принятый ответ 16.04.1 LTS, и команда потерпела неудачу с паролем. Запуск в sudo realm joinнормальном режиме выдаст ошибку Necessary packages are not installed: sssd-tools sssd libnss-sss libpam-sss adcli, даже если все они установлены. После поиска в течение часа я нашел этот обходной путь , который говорит, что вы должны добавить --install=/в команду соединения. Итак, полный синтаксис:

sudo realm join -v -U administrator DOMAIN.COM --install=/
AlexDev
источник