Рубрики
Uncategorized

Присоединяйтесь к контейнеру Ubuntu 18.04 LXC в Active Directory

Присоединение к серверу Linux к домену Active Directory может сэкономить вас от многих ненужных Администрации … Помечено Linux, DEVOPS, LXC, LDAP.

Присоединяясь к серверу Linux для Active Directory Домен может спасти вас от многих ненужных административных работ даже в малых предприятиях. Если вам нужна общие рабочие станции Linux с большим количеством пользователей, и уже есть контроллер домена в вашей сети, вы можете присоединиться к серверам к домену вместо создания учетных записей и разных уровнях доступа на каждом стандартном хосте.

Если вы предпочитаете запустить LXC контейнеры В качестве рабочих станций и виртуализации уровня ОС, а не обычные виртуальные машины, вы можете столкнуться с некоторыми неожиданными проблемами с UID/GID отображение После регистрации хоста на контроллер домена.

В этом руководстве показано, как:

  • Создайте новый контейнер Ubuntu LXC
  • Установите Realmd и присоединитесь к контейнеру в домен Active Directory
  • Закрепить отображение UID/GID для контейнера
  • Проверьте эту настройку со входом на SSH

Я предполагаю, что у вас уже есть:

  • Сервер Active Directory в вашей сети с доступом администратора
  • LXC установлен на вашем сервере Linux

Запустите новый контейнер первым:

> lxc launch ubuntu:18.04 ad-join-test
Creating ad-join-test
Starting ad-join-test

Получить оболочку внутри:

> lxc exec ad-join-test -- /bin/bash
root@ad-join-test:~#

На серверах Ubuntu мы можем использовать Службы безопасности системы Демон (SSSD) для подключения к провайдерам удаленного аутентификации. Документация рекомендует использовать автоматизированный инструмент для настройки его и здесь, я собираюсь использовать царство Инструмент командной строки для быстрой регистрации.

Установите Realmd и некоторые другие необходимые пакеты:

root@ad-join-test:~# apt update && apt install realmd sssd-tools sssd libnss-sss libpam-sss adcli packagekit

Попробуйте обнаружить вашу царство в сети:

root@ad-join-test:~# realm discover eilabs.local

В случае отсутствия ответа здесь, убедитесь, что вы можете разрешить имя контроллера домена:

root@ad-join-test:~# nslookup -type=srv _ldap._tcp.eilabs.local

Я не мог разрешить доменное имя моего контроллера домена в первую очередь, потому что мы использовали .Local как домен верхнего уровня, который является в наши дни предназначены для использования в многоадресной DNS Поэтому мне пришлось изменить конфигурацию системы SystemD-Resolver.

Если realm может обнаружить сервис LDAP, используйте учетную запись администратора, чтобы присоединиться. Realm — это бесшумная программа, поэтому я собираюсь использовать персосе, чтобы увидеть детали процесса:

root@ad-join-test:~# realm join eilabs.local --user=david.jenei --verbose

Теперь попробуйте проверить подключение к контроллеру домена и посмотрите на работу вашего пользователя Passwd:

root@ad-join-test:~# getent passwd david.jenei@eilabs.local

Если вы попытаетесь войти в систему сейчас, вы увидите, что система использует модуль PAM_SSS теперь, как он должен, но вы можете найти эту ошибку в auth.log.

 pam_sss(login:auth): received for user david.jenei@eilabs.local: 4 (System error)

Изменение Уровень журнала для отладки в SSSD Откроется, что есть проблема с UID. Если вы хотите увидеть сообщение об ошибке, поставьте Директиву отладки под раздел вашего домена в конфигурации SSSD (/etc/sssd/sssd.conf) и перезапустите SSSD.

Здесь вы можете увидеть, что мой UID — огромное количество, но Идентификатор идентификатора по умолчанию в SSSD не может отображать их в выделенную карту UID:

root@ad-join-test:~# cat /proc/self/uid_map
         0     100000      65536
root@ad-join-test:~# getent passwd david.jenei@eilabs.local
david.jenei@eilabs.local:*:1149001181:1149000513:Jenei, David:/home/david.jenei@eilabs.local:/bin/bash

Добавьте эти строки в конфигурацию SSSD для вашего домена для ограничения диапазона IDMAP и Карта UID/GID в доступное пространство Отказ

ldap_id_mapping = True
ldap_idmap_range_min = 10000
ldap_idmap_range_max = 50000
ldap_idmap_range_size = 1000

Я также изменил строку Backup Homedir в новый формат домашнего каталога и включен в систему без полных квалифицированных имен:

use_fully_qualified_names = False
override_homedir = /home/%d/%u

Если вы перезапустите SSSD после изменения конфигурации, он не удастся, потому что нам также нужно вручную очистить кэш:

root@ad-join-test:~# rm -rf /var/lib/sss/db/*

Перезагрузите SSSD Service и войдите в систему с вашей учетной записью:

root@ad-join-test:~# systemctl restart sssd
root@ad-join-test:~# login
ad-join-test login: david.jenei
Password:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-88-generic x86_64)

Запустите PAM-Auth-Update и включить создание домашнего каталога на логине. В следующий раз, когда вы войти в систему, ваш домашний каталог будет создан автоматически.

root@ad-join-test:~# pam-auth-update

Наконец отредактируйте/etc/ssh/sshd_config и включите пароль вход:

PasswordAuthentication yes

Перезагрузите демон SSH и теперь вы можете использовать SSH с именем объявлений, чтобы войти в свой контейнер.

root@ad-join-test:~# systemctl restart sshd
root@ad-join-test:~# ssh david.jenei@localhost

Для получения дополнительной информации вы можете проверить детали отображения UID в LXD здесь Отказ

Оригинал: «https://dev.to/davidjenei/join-ubuntu-18-04-lxc-container-to-active-directory-36mm»