===== Установка SSSD/realmd и подключение к домену Active Directory в Ubuntu Linux 16.04 LTS ===== {{:unix-linux:ubuntu:ubuntu-16-04-xenial-xerus-lts:pasted:20170311-181652.png }} В целом процедура подключения компьютера под управлением ОС **Ubuntu GNU/Linux 16.04.2 LTS (Xenial Xerus)** к домену Active Directory с помощью **SSSD** и **realmd** схожа с ранее описанной в статье [[https://blog.it-kb.ru/2016/10/15/join-debian-gnu-linux-8-6-to-active-directory-domain-with-sssd-and-realmd-for-authentication-and-configure-ad-domain-security-group-authorization-for-sudo-and-ssh-with-putty-sso/|Подключение Debian GNU/Linux 8.6 к домену Active Directory с помощью SSSD и realmd]], но с некоторыми исключениями и оговорками. \\ ==== Предварительные требования ==== Настраиваем **DNS**-клиента, чтобы правильно разрешались доменные имена. # cat /etc/resolv.conf
search ad.holding.com nameserver 10.1.0.9 nameserver 10.6.1.8
Настраиваем и проверяем синхронизацию времени с контроллерами домена. # apt-get install ntp # nano /etc/ntp.conf В файле меняем строчки указывающие на **NTP**-сервер. В качестве источника времени указываем контроллеры домена AD: ... server 10.1.0.9 iburst server 10.6.1.8 iburst ... Перезапускаем службу ntp и проверяем статус синхронизации времени: # service ntp restart # ntpq -4 -p # date -R \\ ==== Установка SSSD/realmd и проблема присоединения к домену Active Directory ==== Устанавливаем необходимые пакеты из официальных репозиториев Ubuntu Xenial: # apt-get install realmd sssd-tools sssd libnss-sss libpam-sss adcli krb5-user При необходимости опционально правим **realmd.conf**. Подробности в [[https://freedesktop.org/software/realmd/docs/realmd-conf.html|онлайн-справке]] # nano /etc/realmd.conf [active-directory] os-name = Ubuntu Server GNU/Linux os-version = 16.04 LTS (Xenial Xerus) Пробуем подключить компьютер к домену Active Directory: # realm join --verbose --user=adm-vasya \ --user-principal="host/kom-ad01-vm40.ad.holding.com@AD.HOLDING.COM" \ --computer-ou="OU=Linux Servers,OU=KOM,DC=ad,DC=holding,DC=com" \ kom-ad01-dc01.ad.holding.com Однако, несмотря на то, что предварительно мы установили все нужные пакеты, в **Ubuntu 16.04** можем получить ошибку, говорящую о том, что необходимые пакеты не установлены:
* Resolving: _ldap._tcp.kom-ad01-dc01.ad.holding.com * Resolving: kom-ad01-dc01.ad.holding.com * Performing LDAP DSE lookup on: 10.1.0.9 * Successfully discovered: ad.holding.com Password for adm-vasya: * Unconditionally checking packages * Resolving required packages ! Necessary packages are not installed: sssd-tools sssd libnss-sss libpam-sss adcli realm: Couldn't join realm: Necessary packages are not installed: sssd-tools sssd libnss-sss libpam-sss adcli
Решить эту проблему можно, воспользовавшись обходным решением предложенным [[https://answers.launchpad.net/ubuntu/+question/293540|здесь]], а именно добавить к команде **realm join** дополнительный параметр ''--install=/'' # realm join --verbose --user=adm-vasya \ --user-principal="host/kom-ad01-vm40.ad.holding.com@AD.HOLDING.COM" \ --computer-ou="OU=Linux Servers,OU=KOM,DC=ad,DC=holding,DC=com" \ kom-ad01-dc01.ad.holding.com \ --install=/ Проверяем результат работы realm join, а также проверяем доступ к пользователям и группам Active Directory согласно [[https://blog.it-kb.ru/2016/10/15/join-debian-gnu-linux-8-6-to-active-directory-domain-with-sssd-and-realmd-for-authentication-and-configure-ad-domain-security-group-authorization-for-sudo-and-ssh-with-putty-sso/|ранее упомянутой статьи]]. \\ ==== Проблема авторизации из-за ошибки механизма кеширования GPO ==== На этапе проверки доменной авторизации в **Ubuntu 16.04** можем обнаружить ещё одну проблему.При попытке войти в систему, аутентификация пользователя проходит успешно, а попытка последующей авторизации завершается ошибкой типа: login[29223]: pam_sss(login:auth): authentication success; logname=LOGIN uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=vasya login[29223]: pam_sss(login:account): Access denied for user vasya: 4 (System error) login[29223]: System error Чтобы понять корень проблемы, останавливаем службу sssd, затем запускаем sssd в интерактивном режиме с включённой опцией отладки следующей командой: # ( service sssd stop ) && ( sssd -i --debug-level=3 ) Пробуем воспроизвести проблему - выполнить процедуру авторизации, и если на консоли видим ошибки типа:
... [sssd[be[ad.holding.com]]] [ad_gpo_store_policy_settings] (0x0020): [/var/lib/sss/gpo_cache/ad.holding.com/Policies/ {хххх-ххх-ххх-ххх-ххх}/Machine/Microsoft/Windows NT/SecEdit/GptTmpl.inf]: ini_config_parse failed [5][Ошибка ввода/вывода]...
Значит мы столкнулись с багом, имеющимся в версии **sssd**, которая на данный момент доступна в официальных репозиториях **Ubuntu Xenial** (версия **1.13.4**). Подробнее об этой проблеме [[https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1579092|здесь]]. В качестве решения этой проблемы предлагается создать каталог кеша доменных групповых политик, если его ещё нет. Если этот каталог существует, то установить на него права: # rm -R /var/lib/sss/gpo_cache/ad.holding.com # mkdir -p /var/lib/sss/gpo_cache/ad.holding.com # chown -R sssd:sssd /var/lib/sss/gpo_cache Если это не помогло, можно вообще выключить попытки обработки доменных политик в конфигурации **/etc/sssd/sssd.conf** в секции, описывающей домен: [domain/ad.holding.com] ... ad_gpo_access_control = disabled В остальном настройка системы аналогична [[https://blog.it-kb.ru/2016/10/15/join-debian-gnu-linux-8-6-to-active-directory-domain-with-sssd-and-realmd-for-authentication-and-configure-ad-domain-security-group-authorization-for-sudo-and-ssh-with-putty-sso/|ранее упомянутой статьи]]. ---- Приведённые здесь решения также проверены и на **Ubuntu GNU/Linux 14.04 LTS (Trusty Tahr)**. ---- {{:user:blogroot.png?50&nolink |}} Автор первичной редакции:\\ [[user:blogroot|Алексей Максимов]] \\ Время публикации: 11.03.2017 16:56 {{tag>Linux Ubuntu "Ubuntu LTS" "Ubuntu 16.04" "Xenial Xerus" "Ubuntu 14.04" "Trusty Tahr" SSS SSSD realmd "Active Directory" GPO PAM Authentication Authorization}} ~~DISCUSSION~~