Подготовка к инициализации

Перед началом инициализации Samba в качестве первого контроллера домена:

  1. Выберите DNS-домен для создаваемого AD-леса. Не рекомендуется использовать для организации домен верхнего (первого) уровня (TLD), так как разрешение имен в домене, который указывается при установке Samba, будет осуществляться через контроллер домена. Оптимальный подход — использовать для размещения контроллера поддомен. В данном руководстве в качестве примера используется поддомен SAMDOM.EXAMPLE.COM.

    Не рекомендуется использовать в качестве имен хостов идентификаторы PDC или BDC, унаследованные от NT4, так как эти сущности отсутствуют в AD.

    Выбранное имя также будет использоваться в качестве имени области безопасности (realm) Kerberos в AD.

    После установки и настройки контроллера домена будет невозможно изменить имя DNS-зоны в AD и имя области безопасности Kerberos, так как Samba не поддерживает такое изменение.

    Не допускается использовать в качестве TLD значение .local, так как оно занято системой обнаружения сервисов в локальной сети Avahi.

  2. Выберите для контроллера домена имя хоста длиной не более 15 символов (ограничение протокола NetBIOS) и назначьте его.

    Например:

    sudo hostnamectl set-hostname dc1.samdom.example.com
  3. Назначьте серверу, на котором будет развертываться контроллер домена, статический IP-адрес и зарезервируйте его на маршрутизаторе.

    Контроллер домена Samba будет обеспечивать разрешение DNS-имен для всех подключенных к нему рабочих станций. Поэтому при назначении ему IP-адреса может потребоваться использовать значение за пределами пула адресов DHCP.
  4. Отключите инструменты (например, пакет resolvconf, отвечающий за автоматическое назначение DNS-серверов), которые автоматически обновляют файл с конфигурацией разрешения DNS-имен /etc/resolv.conf. Контроллеры и участники домена AD должны использовать DNS-сервер, способный разрешать имена в рамках существующих в AD DNS-зон.

  5. Убедитесь, что в файле /etc/hosts полное доменное имя (FQDN) и короткое имя хоста корректно сопоставлены с IP-адресом контроллера домена.

    Например:

    127.0.0.1     localhost
    10.0.9.100    DC1.samdom.example.com     DC1

    Имя хоста и FQDN не должны сопоставляться с IP-адресом 127.0.0.1 или любым другим IP-адресом, отличным от того, который назначен серверу контроллера домена в настройках LAN.

Если контроллер домена Samba ранее уже развертывался на сервере, перед повторной установкой:

  1. Убедитесь, что ни один процесс Samba не запущен.

    Для вывода в консоль процессов используйте команду:

    ps ax | egrep "samba|smbd|nmbd|winbindd"

    Если в выводе консоли присутствует любой из процессов samba, smbd, nmbd или winbindd, завершите его и запретите автоматический запуск.

    Например:

    sudo systemctl stop smbd nmbd winbind
    sudo systemctl disable smbd nmbd winbind
    sudo systemctl mask smbd nmbd winbind
  2. Удалите существующие файлы БД Samba с расширениями .tdb и .ldb.

    Для поиска расположения соответствующих файлов используйте команду:

    sudo smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"
      LOCKDIR: /app/inno-samba/var/lock/
      STATEDIR: /app/inno-samba/var/locks/
      CACHEDIR: /app/inno-samba/var/cache/
      PRIVATE_DIR: /app/inno-samba/private/
  3. Если ранее на сервере выполнялась настройка Samba, при необходимости создайте резервную копию файла smb.conf и удалите его.

    Для поиска пути к файлу используйте команду:

    sudo smbd -b | grep "CONFIGFILE"
      CONFIGFILE: /app/inno-samba/etc/smb.conf
  4. Если ранее на сервере выполнялась настройка аутентификации по протоколу Kerberos, при необходимости создайте резервную копию файла /etc/krb5.conf и удалите его:

    sudo rm /etc/krb5.conf

Установите основной пакет inno-samba, следуя инструкциям, приведенным в разделе «Установка».