Product SiteDocumentation Site

2.3. Разворачивание сервера Samba AD DC

Все действия выполняются на узле dc1.test.alt (192.168.0.122).
Для установки Samba AD DC выполняются следующие шаги:
  1. Установить пакет task-samba-dc (этот шаг можно пропустить, если при установке системы на этапе «Установка системы» был выбран профиль Сервер Samba DC (контроллер AD)):
    # apt-get install task-samba-dc
    
  2. Остановить конфликтующие службы krb5kdc и slapd, а также bind:
    # for service in smb nmb krb5kdc slapd bind; do systemctl disable $service; systemctl stop $service; done
    
  3. Очистить базы и конфигурацию Samba:
    # rm -f /etc/samba/smb.conf
    # rm -rf /var/lib/samba
    # rm -rf /var/cache/samba
    # mkdir -p /var/lib/samba/sysvol
    
  4. Установить имя домена (этот шаг можно пропустить, если имя компьютера было задано при установке системы на этапе «Настройка сети»). Имя домена, для разворачиваемого DC, должно состоять минимум из двух компонентов, разделенных точкой. При этом должно быть установлено правильное имя узла и домена для сервера. Для этого в файл /etc/sysconfig/network необходимо добавить строку:
    HOSTNAME=dc1.test.alt
    
    И выполнить команды:
    # hostnamectl set-hostname dc1.test.alt
    # domainname test.alt
    

    Примечание

    После изменения имени компьютера могут перестать запускаться приложения. Для решения этой проблемы необходимо перезагрузить систему.
  5. Для корректного функционирования домена в файле /etc/resolv.conf должна присутствовать строка:
    nameserver 127.0.0.1
    
    Если этой строки в файле /etc/resolv.conf нет, то в конец файла /etc/resolvconf.conf следует добавить строку:
    name_servers='127.0.0.1'
    
    и перезапустить сервис resolvconf:
    # resolvconf -u
    
  6. Создать домен test.alt с паролем администратора Pa$$word:
    # samba-tool domain provision --realm=test.alt --domain test --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --option="dns forwarder=8.8.8.8" --server-role=dc --use-rfc2307
    
    где
    • --realm — область Kerberos (LDAP), и DNS имя домена;
    • --domain — имя домена (имя рабочей группы);
    • --adminpass — пароль основного администратора домена;
    • dns forwarder — внешний DNS-сервер;
    • --server-role — тип серверной роли;
    • --use-rfc2307 — позволяет поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.

    Примечание

    Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов. Пароль не полностью соответствующий требованиям это одна из причин завершения развертывания домена ошибкой.

    Примечание

    Если уровень домена не указан, то домен разворачивается на уровне 2008_R2. Для разворачивания домена на другом уровне, уровень необходимо явно указать, например:
    # samba-tool domain provision --realm=test.alt --domain=test --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --option="dns forwarder=8.8.8.8" --option="ad dc functional level = 2016" --server-role=dc --function-level=2016
    
  7. Запустить службу:
    # systemctl enable --now samba
    
  8. Настроить Kerberos. В момент создания домена Samba конфигурирует шаблон файла krb5.conf для домена в каталоге /var/lib/samba/private/. Заменить этим файлом файл, находящийся в каталоге /etc/:
    # cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
    
  9. Проверить работоспособность домена:
    • просмотр общей информации о домене:
      # samba-tool domain info 127.0.0.1
      Forest           : test.alt
      Domain           : test.alt
      Netbios domain   : TEST
      DC name          : dc1.test.alt
      DC netbios name  : DC1
      Server site      : Default-First-Site-Name
      Client site      : Default-First-Site-Name
      
    • убедиться в наличии nameserver 127.0.0.1 в файле /etc/resolv.conf:
      # cat /etc/resolv.conf
      search test.alt
      nameserver 127.0.0.1
      
      # host test.alt
      test.alt has address 192.168.0.122
      

      Примечание

      Утилита host позволяет получить информацию о DNS-связях между доменными именами и IP-адресами. Для возможности использования этой утилиты должен быть установлен пакет bind-utils.
    • проверить имена хостов:
      # host -t SRV _kerberos._udp.test.alt.
      _kerberos._udp.test.alt has SRV record 0 100 88 dc1.test.alt.
      # host -t SRV _ldap._tcp.test.alt.
      _ldap._tcp.test.alt has SRV record 0 100 389 dc1.test.alt.
      # host -t A dc1.test.alt.
      dc1.test.alt has address 192.168.0.122
      
    • проверка Kerberos (имя домена должно быть в верхнем регистре):
      # kinit administrator@TEST.ALT
      Password for administrator@TEST.ALT:
      

      Примечание

      Если имена не находятся, необходимо проверить выключение службы named.
  10. Создать и разблокировать пользователя ivanov в домене:
    # samba-tool user create ivanov --given-name='Иван Иванов' --mail-address='ivanov@test.alt'
    # samba-tool user setexpiry ivanov --noexpiry