- Операционные системы
- Виртуализация
- IT-инфраструктура
- Защита ИС и периметра
- Сетевые службы
- Хранение данных
- СУБД
- Объединенные коммуникации
- Веб-серверы и веб-движки
- Скриптинг
unix-linux:ubuntu:ubuntu-16-04-xenial-xerus-lts:how-to-install-sssd-and-join-ubuntu-16-04-to-active-directory-domainСодержание
Установка SSSD/realmd и подключение к домену Active Directory в Ubuntu Linux 16.04 LTS
В целом процедура подключения компьютера под управлением ОС Ubuntu GNU/Linux 16.04.2 LTS (Xenial Xerus) к домену Active Directory с помощью SSSD и realmd схожа с ранее описанной в статье Подключение 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:
- ntp.conf
... 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. Подробности в онлайн-справке
# nano /etc/realmd.conf
- 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Решить эту проблему можно, воспользовавшись обходным решением предложенным здесь, а именно добавить к команде 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 согласно ранее упомянутой статьи.
Проблема авторизации из-за ошибки механизма кеширования GPO
На этапе проверки доменной авторизации в Ubuntu 16.04 можем обнаружить ещё одну проблему.При попытке войти в систему, аутентификация пользователя проходит успешно, а попытка последующей авторизации завершается ошибкой типа:
- auth.log
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). Подробнее об этой проблеме здесь. В качестве решения этой проблемы предлагается создать каталог кеша доменных групповых политик, если его ещё нет. Если этот каталог существует, то установить на него права:
# 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 в секции, описывающей домен:
- sssd.conf
[domain/ad.holding.com] ... ad_gpo_access_control = disabled
В остальном настройка системы аналогична ранее упомянутой статьи.
Приведённые здесь решения также проверены и на Ubuntu GNU/Linux 14.04 LTS (Trusty Tahr).
Автор первичной редакции:
Алексей Максимов
Время публикации: 11.03.2017 16:56unix-linux/ubuntu/ubuntu-16-04-xenial-xerus-lts/how-to-install-sssd-and-join-ubuntu-16-04-to-active-directory-domain.txt · Последнее изменение: 19.03.2017 12:07 — Алексей Максимов
Инструменты страницы
Обсуждение
ad_gpo_access_control = disabled
enumerate = True
dyndns_update = true
dynd ns_refresh_interval = 43200
dyndns_ttl = 1200
krb5_lifetime = 10h
krb5_renewable_lifetime = 7d
krb5_renew_interval = 1h
иначе на следующий день билет TGT не продлялся.
вот только диалог смены просроченного пароля пользователя хотелось бы на русском.Войдя в систему и сделав su - username, сообщение что пароль просрочен по русски. А вот в DM или по shh или если через консоль входить в систему все по английски. системы ubuntu 16.04, debian 9.2 stretch. В /etc/environment и /etc/default/local как надо.