Контроллер домена Active Directory Samba 4 на сервере Ubuntu 18.04

В этом посте будет описано, как установить контроллер домена Active Directory (AD) на Ubuntu Server 18.04. Да, верно… Active Directory на хосте Linux. Не резервный контроллер домена, а функциональный AD, с помощью которого вы можете создавать пользователей, присоединять компьютеры и настраивать групповую политику.

Конфигурация сети

Имя хоста Домен IP-адрес
dc1 ad.ricosharp.com 192.168.122.70

Настроить сеть

Настроить имя хоста системы

  ~] $ sudo hostnamectl set-hostname dc1  

Отредактируйте файлы хостов, чтобы имя хоста преобразовывалось в его IP-адрес

  ~] $ sudo nano/etc/hosts # Добавьте эту строку в/etc /hosts, чтобы dc1 преобразовался в 192.168.122.70192.168.122.70 dc1 dc1.ad.ricosharp.com  

Обратите внимание, что Ubuntu 18.04 теперь использует netplan для настройки IP-адреса в системах. Я опишу базовую конфигурацию в следующем посте

Обновите и перезагрузите систему

  ~] $ sudo apt update -y  ~] $ sudo apt upgrade -y ~] $ sudo reboot  

Установите соответствующие пакеты samba, winbind и kerberos. Программа установки запросит настройки Kerberos и выдаст ошибку в конце установки. Пока проигнорируйте это и примите значения по умолчанию. Это будет правильно настроено позже в процессе установки AD.

  ~] $ sudo apt install samba smbclient winbind libpam-winbind libnss-winbind krb5-kdc libpam-krb5 -y   

Переименуйте файлы samba и kerberos. Вам нужно начать с чистой среды при запуске установки samba AD.

  ~] $ sudo mv/etc/samba/smb.conf/etc/samba/smb.conf  .orig ~] $ sudo mv/etc/krb5.conf/etc/krb5.conf.orig

Запустить настройку samba AD

Все настройки по умолчанию подходят. Единственное изменение, которое я делаю, — это установка сервера пересылки DNS на 8.8.8.8. Вы также можете использовать другой сервер DNS. Но это выходит за рамки этой публикации для простой настройки.

  ~] Предоставление домена $ sudo samba-tool --use-rfc2307 --interactiveRealm [AD.RICOSHARP  .COM]: домен [AD]: роль сервера (dc, member, standalone) [dc]: серверная часть DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: IP-адрес сервера пересылки DNS (укажите «нет», чтобы отключить пересылку)  [127.0.0.53]: 8.8.8.8 Пароль администратора: Введите пароль еще раз: Поиск IPv4-адресов Поиск IPv6-адресов IPv6-адрес не будет назначен Настройка share.ldbНастройка секретов.ldbНастройка реестраНастройка базы данных привилегийНастройка idmap dbНастройка SAM dbНастройка SAM  Разделы и настройки .ldb Настройка sam.ldb rootDSEP повторная загрузка схемы Samba 4 и AD Добавление DomainDN: DC = ad, DC = ricosharp, DC = com Добавление контейнера конфигурации Настройка схемы sam.ldb Настройка sam. ldb configuration dataНастройка спецификаторов отображения Изменение описателей отображения Добавление контейнера пользователей Изменение контейнера пользователей Добавление контейнера компьютеров Изменение контейнера компьютеров Настройка данных sam.ldb Настройка известных участников безопасности Настройка пользователей и групп sam.ldb Настройка самостоятельного присоединения Добавление учетных записей DNS Создание CN = MicrosoftDNS, CN = System, DC = ad,  DC = ricosharp, DC = com Создание разделов DomainDnsZones и ForestDnsZones Использование разделов DomainDnsZones и ForestDnsZones Настройка маркировки sam.ldb rootDSE как синхронизированной Исправление идентификаторов GUID Конфигурация Kerberos, подходящая для Samba AD, была сгенерирована в/var/lib/samba/private/krbting up  Настройки сервера После установки вышеуказанных файлов ваш сервер Samba AD будет готов к использованию Роль сервера: контроллер домена Active Directory Имя хоста: dc1 NetBIOS Домен: ADDNS Домен: ad.ricosharp.com ИДЕНТИФИКАТОР ДОМЕНА: S-1-5-21-2060062981-3252955935-809771608   

Скопируйте подготовленный файл конфигурации Kerberos в t расположение файла конфигурации Kerberos

  ~] $ sudo cp/var/lib/samba/private/krb5.conf/etc  

Протестируйте конфигурацию

Теперь можно запускать Samba. Но перед настройкой с помощью systemd запустите samba и выполните несколько тестов с DNS.

  ~] $ sudo samba  

Test DNS

  ~] $ host -t SRV _ldap._tcp.ad.ricosharp.comHost _ldap._tcp.ad.ricosharp.com не найден: 3 (NXDOMAIN) ~] $ host  -t SRV _kerberos._udp.ad.ricosharp.comHost _kerberos._udp.ad.ricosharp.com не найден: 3 (NXDOMAIN) ~] $ host -t У dc1.ad.ricosharp.comdc1.ad.ricosharp.com есть адрес  192.168.122.70  

Это плохо, поскольку без DNS AD не сможет работать должным образом. Если мы запустим netstat, чтобы увидеть, какие процессы прослушивают порт 53, мы увидим, что systemd-resolve работает в дополнение к samba.

  ~] $ sudo netstat -tulpn |  grep: 53tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 688/systemd-resolve tcp6 0 0 ::: 53 ::: * LISTEN 4368/samba udp 0 0 127.0.0.53:53 0.0.0.0:* 688 /systemd-resolve udp6 0 0 ::: 53 ::: * 4368/samba  

Быстрый и грязный способ убедиться, что samba — единственный процесс, прослушивающий запросы DNS, — это для отключения службы systemd-resolved.

  ~] $ sudo systemctl stop systemd-resolved ~] $ sudo systemctl disable systemd-resolved ~] $ sudo unlink/etc/resolv.  conf ~] $ sudo nano/etc/resolv.confnameserver 192.168.122.70search ad.ricosharp.com ~] $ sudo reboot  

Проверьте DNS еще раз. Похоже, теперь все работает.

  ~] $ sudo samba ~] $ host -t SRV _ldap._tcp.ad.ricosharp.com_ldap._tcp.ad.ricosharp.  com имеет запись SRV 0 100 389 dc1.ad.ricosharp.com. ~] $ host -t SRV _kerberos.udp.ad.ricosharp.comHost _kerberos.udp.ad.ricosharp.com не найден: 3 (NXDOMAIN) ~] $  host -t dc1.ad.ricosharp.comdc1.ad.ricosharp.com имеет адрес 192.168.122.70  

Давайте также проверим аутентификацию Kerberos. Здесь все в порядке.

  ~] $ kinit AdministratorPassword for Administrator@AD.RICOSHARP.COM: Предупреждение: срок действия вашего пароля истечет через 41 день в субботу, 5 октября 2019 г., 16:12:28 PM UTC ~  ] $ klist Кэш билетов: ФАЙЛ:/tmp/krb5cc_1000 Принцип действия по умолчанию: Administrator@AD.RICOSHARP.COM Действителен, начиная с истечения срока действия принципала обслуживания 24.08.2019 16:42:07 25.08.2019 02:42:07 krbtgt/AD.RICOSHARP.COM  @ AD.RICOSHARP.COM продлить до 25.08.2019 16:42:04  

Настройте samba AD для запуска с systemd

Теперь, когда это выполняется, снова убейте samba, чтобы мы могли начать процесс с помощью systemd

  ~] $ sudo ps -aux |  grep sambaroot 1134 0,0 2,1 542992 44676?  СС 16:34 0:00 sambaroot 1135 0,0 1,2 542992 25568?  S 16:34 0:00 sambaroot 1136 0,0 1,8 547144 37744?  S 16:34 0:00 sambaroot 1137 0,0 1,1 542996 22948?  С 16:34 0:00 sambaroot 1138 0,0 1,4 542992 28740?  С 16:34 0:00 sambaroot 1140 0,0 1,2 542992 25104?  С 16:34 0:00 sambaroot 1141 0,5 1,5 542992 32564?  С 16:34 0:01 sambaroot 1142 0,0 1,2 542992 25708?  С 16:34 0:00 sambaroot 1143 0,0 1,4 542992 29244?  С 16:34 0:00 sambaroot 1144 0,0 1,4 542992 28820?  С 16:34 0:00 sambaroot 1145 0,0 1,2 542992 25568?  С 16:34 0:00 sambaroot 1146 0,0 1,2 542992 25044?  С 16:34 0:00 sambaroot 1147 0,0 1,8 542992 38052?  С 16:34 0:00 sambaroot 1148 0,0 1,3 542992 27584?  S 16:34 0:00 sambaroot 1149 0,0 1,5 543412 31340?  С 16:34 0:00 sambaroot 1150 0,0 1,1 542996 22948?  S 16:34 0:00 sambarico 1198 0,0 0,0 13136 1004 pts/0 S + 16:38 0:00 grep --color = auto samba ~] $ sudo kill 1134 ~] $ sudo ps -aux |  grep sambarico 1203 0.0 0.0 13136 1152 pts/0 S + 16:38 0:00 grep --color = auto samba  

Маскировать службы smbd, nmbd, winbind и демаскировать samba служба ad-dc

  ~] $ sudo systemctl mask smbd nmbd winbind ~] $ sudo systemctl disable smbd nmbd winbind ~] $ sudo systemctl stop smbd nmbd winbind ~] $ sudo systemctl  unmask samba-ad-dc ~] $ sudo systemctl start samba-ad-dc ~] $ sudo systemctl enable samba-ad-dc  

Перезагрузите и проверьте

  ~] $ sudo reboot ~] $ sudo systemctl status samba-ad-dc  

Присоедините компьютер к домену

Чтобы присоединиться к домену на компьютере с Windows 10, сделайте следующее:

Примечание. Убедитесь, что ваш DNS указывает на dc1 (192.168.122.70)

  1. Перейдите в Пуск> Настройки
  2. Щелкните Учетные записи
  3. Доступ к работе или учебе
  4. Щелкните Подключить.
  5. Щелкните Присоединить это устройство к локальному домену Active Directory.
  6. Введите ad.ricosharp.com и введите имя пользователя администратора/p заданное слово для домена
  7. Выберите «Пропустить, чтобы добавить учетную запись».
  8. Выберите «Перезагрузить сейчас».

Альтернативный способ и Я больше всего привык к следующему:

  1. Откройте проводник
  2. Щелкните правой кнопкой мыши на этом компьютере> Свойства
  3. Выберите «Изменить настройки» в разделе «Имя компьютера, домен и параметры рабочей группы».
  4. Нажмите кнопку «Изменить».
  5. Выберите домен и введите ad.ricosharp. ru
  6. Нажмите «ОК», введите имя пользователя и пароль администратора для домена и перезагрузитесь.

Есть два способа управления учетными записями пользователей. Во-первых, вы можете использовать самба-инструмент. Например, чтобы создать нового пользователя с именем user1, введите следующую команду:

  ~] $ sudo samba-tool user create user1  

Второй способ — установить средства удаленного администрирования системы (RSAT) на компьютер с Windows 10. Вы можете загрузить RSAT отсюда.

После установки откройте Active Directory — пользователи и компьютеры, выбрав Пуск> Инструменты администрирования Windows. Разверните имя домена активного каталога (ad.ricosharp.com) и откройте организационное подразделение Пользователи. Щелкните правой кнопкой мыши и выберите «Создать»> «Пользователь».

Настройка Samba в качестве контроллера домена Active Directory

Управление службой Samba AD DC с помощью Systemd



Интеграция рабочего стола Ubuntu с Active Directory для True SSO

Для поддержки True SSO на рабочем столе Ubuntu 16.04 или 18.04 интегрируйте рабочий стол с доменом Active Directory с использованием решений Samba и Winbind.

Используйте следующую процедуру для интеграции рабочего стола Ubuntu 16.04 или 18.04 с доменом AD.

В некоторых примерах процедуры используются значения-заполнители для представления сущностей в вашей сетевой конфигурации, таких как имя хоста вашего рабочего стола Ubuntu. Замените значения заполнителей информацией, относящейся к вашей конфигурации, как описано в следующей таблице.

Значение заполнителя Описание
dns_IP_ADDRESS IP-адрес вашего DNS-сервера
mydomain.com DNS-имя вашего домена AD
MYDOMAIN.COM DNS-имя вашего домена AD, заглавными буквами
myhost Имя хоста вашего рабочего стола Ubuntu
MYDOMAIN DNS-имя рабочая группа или домен NT, который включает ваш сервер Samba, прописными буквами
ads-hostname Имя хоста вашего AD сервер
admin-user Имя пользователя администратора домена AD

Предварительные требования

  • Сервер Active Directory (AD) разрешается DNS в системе Linux.
  • Протокол сетевого времени (NTP) настроен в системе Linux.

Процедура

  1. На рабочем столе Ubuntu 16.04 или 18.04 установите пакеты samba и winbind.
     sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind 

  2. При появлении запроса настройте Kerberos Следующие настройки аутентификации.
    1. Для области Kerberos версии 5 по умолчанию введите DNS-имя вашего домена AD, используя все заглавные буквы.
      Например, если ваше доменное имя AD — MYDOMAIN.COM .
    2. Для серверов Kerberos для вашей области введите имя хоста вашего сервера AD (представленное в примерах в этой процедуре).
    3. Для административного сервера для вашей области Kerberos снова введите имя хоста вашего сервера AD.
  3. Обновите конфигурацию PAM.
    1. Откройте страницу конфигурации PAM.
       pam-auth-update 

    2. Выберите «Создать домашний каталог при входе в систему», а затем нажмите «ОК».
  4. Отредактируйте файл конфигурации/etc/nsswitch.conf, как показано в следующем примере.
     passwd: compat winbindgroup: compat winbindshadow: compatgshadow: files 

  5. Чтобы автоматически сгенерированный файл resolv.conf ссылался на в свой домен AD в качестве домена поиска, измените настройки NetworkManager для подключения к вашей системе.
    1. Откройте панель управления NetworkManager и перейдите к настройкам IPv4 для подключения к вашей системе. В качестве метода выберите только автоматические (DHCP) адреса. В текстовом поле DNS-серверы введите IP-адрес вашего DNS-сервера (как в примерах этой процедуры). Затем щелкните Сохранить.
    2. Отредактируйте файл конфигурации для вашего системного подключения, расположенный в/etc/NetworkManager/system-connections. Воспользуйтесь следующим примером.
       [ipv4] dns =  dns_IP_ADDRESS  dns-search =  mydomain.com  ignore-auto-dns = truemethod = auto  

      Примечание. Новый виртуальный сетевой адаптер добавляется при создании нового мгновенно клонированного виртуального рабочего стола. Любые настройки сетевого адаптера, например DNS-сервера, в шаблоне виртуального рабочего стола теряются, когда новый сетевой адаптер добавляется к мгновенно клонируемому виртуальному рабочему столу. Чтобы не потерять настройки DNS-сервера при добавлении нового сетевого адаптера к клонированному виртуальному рабочему столу, вы должны указать DNS-сервер для вашей системы Linux.
    3. Укажите DNS-сервер, отредактировав файл конфигурации/etc/resolv.conf, как показано в следующем примере.
       сервер имен  dns_IP_ADDRESS  поиск mydomain.com 

    4. Перезагрузите систему и войдите снова.
  6. Отредактируйте файл конфигурации/etc/hosts, как показано в следующем примере.
     127.0.0.1 localhost127.0.1.1  myhost.mydomain.com myhost  

  7. Отредактируйте файл конфигурации/etc/samba/smb.conf, как показано в следующем примере.
     [global] security = adsrealm =  MYDOMAIN. COM  workgroup =  MYDOMAIN  idmap uid = 10000-20000idmap gid = 10000-20000winbind enum users = yeswinbind enum group = yestemplate homedir =/home/% D/% Utemplate shell =/bin /bashclient использовать spnego = yesclient ntlmv2 auth = yesencrypt passwords = yeswinbind использовать домен по умолчанию = yesrestrict anonymous = 2kerberos method = secrets и keytabwinbind обновить билеты = true 

  8. Перезапустить smbd служба.
     sudo systemctl restart smbd.service 

  9. Отредактируйте файл конфигурации/etc/krb5.conf так, чтобы его содержимое было похоже на следующий пример.
     [libdefaults] default_realm =  MYDOMAIN.COM  dns_lookup_realm = true dns_lookup_kdc = true [realms]  MYDOMAIN.COM  = {  kdc =  ad-hostname  admin_server =  ads-hostname } [domain_realm].  mydomain.com  =  MYDOMAIN.COM   mydomain.com  = MYDOMAIN.COM 

  10. Присоедините свой рабочий стол Ubuntu к домену AD.
    1. Инициировать билет Kerberos.
       sudo kinit admin-user 

      При появлении запроса введите пароль администратора.

    2. Убедитесь, что билет был успешно создан.
       sudo klist 

      Эта команда возвращает информацию о билете, включая его действительное время начала и время истечения срока.

    3. Создайте файл keytab Kerberos.
       sudo net ads keytab create -U admin-user 

    4. Присоединитесь к домену AD.
       sudo net ads join -U admin-user 

  11. Перезапустите и проверьте службу Winbind .
    1. Перезапустите службу Winbind.
       sudo systemctl restart winbind.service 

    2. Чтобы проверить службу Winbind, выполните следующие команды и убедитесь, что они возвращают правильный выход.
      • wbinfo -u
      • wbinfo -g
      • getend passwd
      • getend group
  12. Перезагрузите систему и войдите снова.

Что делать дальше

Настроить True SSO на рабочих столах Ubuntu

Оцените статью
clickpad.ru
Добавить комментарий