Инициализация
Инициализация Samba в качестве контроллера домена AD предусматривает создание баз данных AD и создание первоначального набора записей, необходимых для работы домена, включая учетную запись администратора и записи DNS.
В состав inno-samba входит встроенный инструмент командной строки samba-tool (/app/inno-samba/bin/samba-tool), позволяющий задать требуемые настройки в конфигурационном файле smb.conf в интерактивном режиме.
| Инициализация выполняется только для первого контроллера в домене AD. Остальные контроллеры должны присоединяться к существующему домену. |
Параметры samba-tool
Команда инициализации домена samba-tool domain provision принимает ряд параметров, которые могут использоваться как в интерактивном, так и в неинтерактивном режиме.
Для получения подробной информации о доступных параметрах используйте команду:
/app/inno-samba/bin/samba-tool domain provision --help
В процессе инициализации устанавливаются следующие параметры (см. полный список доступных параметров в разделе «Администрирование домена»):
| Интеракт. режим | Неинтеракт. режим | Описание |
|---|---|---|
|
|
Подключение расширений NIS, необходимых для отображения информации на вкладке Unix Attributes в оснастке ADUC на ОС Windows. Данные атрибуты недоступны в Windows 10 и выше, а также Windows Server 2016 и выше |
|
|
Область безопасности (realm) Kerberos. DNS-имя домена AD в верхнем регистре. Например: |
|
|
Имя домена NetBIOS (Workgroup). Строка длиной не более 15 символов без точек. Рекомендуется использовать первую часть DNS-имени домена AD. Например: |
|
|
Установка в роли контроллера домена |
|
|
DNS-сервер. Первый контроллер в домене AD должен устанавливаться с DNS-сервером. Поддерживаются следующие DNS-серверы:
|
|
|
Один или несколько (через запятую) IP-адресов DNS-серверов для рекурсивного разрешения имен. Данная настройка доступна только при использовании в качестве DNS-сервера значения |
|
|
Пароль администратора домена, соответствующий требованиям безопасности (см. подробнее в документации Microsoft). Если пароль не соответствует требованиям безопасности, процесс инициализации завершается неудачей |
|
|
Тип базы данных каталога. По умолчанию Samba использует TDB с ограничением на размер 4 ГБ. Если ожидается, что размер базы данных каталога будет превышать 4 ГБ, требуется использовать LMDB. Для этого задайте: Для корректной работы с LMDB установите пакет утилит В этом случае по умолчанию максимально допустимый размер базы будет увеличен до 8 ГБ. Для изменения значения по умолчанию используйте параметр |
|
|
Максимальный размер файлов базы данных каталога. При использовании LMDB ( Заданное ограничение является фиксированным. Его превышение приведет к неработоспособности Samba |
|
|
Общий функциональный уровень (режим работы) домена и леса. Возможные значения: Все контроллеры в домене должны будут работать на указанном функциональном уровне. Функциональный уровень |
|
|
Добавление параметра Значение данного параметра задает «заявляемый» функциональный уровень контроллера домена. То есть при взаимодействии с другими участниками гетерогенной среды контроллер будет «заявлять», что работает на данном функциональном уровне. Установка параметра вручную на отдельном контроллере повышает риск несовпадения набора возможностей на контроллерах в домене. Поэтому при принятии решения об использовании данного параметра следует установить его на всех контроллерах домена Samba. Возможные значения: |
|
|
Отключение устаревших алгоритмов шифрования и обмена ключами, разрешенных для использования по умолчанию при подключении к серверу LDAP. Параметр изменяет список приоритетов библиотеки GnuTLS по умолчанию (см. подробнее в документации на библиотеку). Рекомендуется использовать указанное значение для повышения уровня безопасности |
|
Если сервер, на котором выполняется инициализации, имеет несколько сетевых интерфейсов, дополнительно задайте следующие опции для привязки Samba к определенным интерфейсам: --option="interfaces=lo eth0" --option="bind interfaces only=yes" Это необходимо для регистрации командой |
Инициализация в интерактивном режиме
Перед запуском инициализации в интерактивном режиме убедитесь в отсутствии файла smb.conf.
Если он существует, переименуйте его, например, с помощью следующей команды:
sudo mv /app/inno-samba/etc/smb.conf /app/inno-samba/etc/smb.conf.samba_initial
Для запуска инициализации в интерактивном режиме выполните команду с параметром --interactive.
Например:
sudo /app/inno-samba/bin/samba-tool domain provision --use-rfc2307 --interactive --backend-store=mdb --backend-store-size=16Gb
Пример инициализации в интерактивном режиме:
sudo /app/inno-samba/bin/samba-tool domain provision --use-rfc2307 --interactive --backend-store=mdb --backend-store-size=16Gb # Имя области безопасности Kerberos Realm [SAMDOM.EXAMPLE.COM]: SAMDOM.EXAMPLE.COM # Имя домена Domain [SAMDOM]: SAMDOM # Роль сервера — контроллер домена, участника домена, отдельный сервер Server Role (dc, member, standalone) [dc]: dc # Служба DNS DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ # IP-адрес для перенаправления DNS-запросов DNS forwarder IP address (write 'none' to disable forwarding) [10.0.9.100]: 8.8.8.8 # Пароль администратора Administrator password: Passw0rd # Подтверждение введенного пароля администратора Retype password: Passw0rd Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=samdom,DC=example,DC=com Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Modifying display specifiers and extended rights Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=samdom,DC=example,DC=com Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions See /app/inno-samba/bind-dns/named.conf for an example configuration include file for BIND and /app/inno-samba/bind-dns/named.txt for further documentation required for secure DNS updates Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /app/inno-samba/private/krb5.conf Merge the contents of this file with your system krb5.conf or replace it with this one. Do not create a symlink! Setting up fake yp server settings Once the above files are installed, your Samba AD server will be ready to use Server Role: active directory domain controller Hostname: DC1 NetBIOS Domain: SAMDOM DNS Domain: samdom.example.com DOMAIN SID: S-1-5-21-2614513918-2685075268-614796884
|
Интерактивный режим поддерживает изменение дополнительных параметров команды Для добавления параметров в конфигурационный файл smb.conf на этапе инициализации используйте следующий формат: |
Инициализация в неинтерактивном режиме
Пример запуска инициализации в неинтерактивном режиме:
sudo /app/inno-samba/bin/samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ --realm=SAMDOM.EXAMPLE.COM --domain=SAMDOM --adminpass=Passw0rd --backend-store=mdb --backend-store-size=16Gb
Дополнительная настройка
После успешного завершения инициализации выполните следующие дополнительные шаги по настройке Samba:
-
Настройте автоматический запуск доменной службы Samba и перезапустите ее с помощью следующих команд:
sudo systemctl unmask inno-samba sudo systemctl enable inno-samba
-
Если в качестве DNS-сервера было указано значение
BIND9_DLZ, требуется:-
настроить DNS-сервер BIND 9;
-
добавить параметры Samba в настройки службы DNS; например:
echo 'include "/app/inno-samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
-
настроить права доступа:
sudo chown -R root:bind /app/inno-samba/bind-dns
-
перезапустить BIND 9 с помощью следующей команды:
sudo systemctl restart bind9
-
-
Запустите доменную службу Samba:
sudo systemctl restart inno-samba
-
Чтобы участники домена AD могли находить требуемые сервисы (LDAP, Kerberos) с помощью DNS-сервера, обеспечивающего разрешение имен в соответствующей DNS-зоне AD, в файле /etc/resolv.conf на сервере с контроллером домена укажите имя DNS-домена в качестве значения параметра
searchи IP-адрес сервера в качестве значения параметраnameserver; например:search samdom.example.com nameserver 10.0.9.100
-
Скопируйте конфигурацию Kerberos, созданную в процессе инициализации, в конфигурацию Kerberos, используемую операционной системой, например, с помощью следующей команды:
sudo cp /app/inno-samba/private/krb5.conf /etc/krb5.conf
Созданная при инициализации конфигурация Kerberos использует записи о ресурсах (SRV-записи) DNS-службы для поиска центра распространения ключей (KDC).
Не используйте для доступа к сформированному файлу krb5.conf символическую ссылку. В Samba доступ к каталогу /app/inno-samba/private/ имеет только пользователь с правами root. Это означает, что при использовании символической ссылки другие пользователи не смогут получить к нему доступ. Например, в случае задания в качестве DNS-сервера значенияBIND9_DLZдинамические обновления DNS работать не будут.В тех случаях, когда топология сети позволяет беспрепятственно доставлять по протоколу UDP пакеты большего размера от контроллера домена к клиентам, для повышения производительности в конфигурационный файл /etc/krb5.conf может быть добавлена следующая настройка:
[kdc] max-kdc-datagram-reply-length = 2800Она обеспечивает формирование сервером ответа на запрос аутентификации, полученный от клиента по протоколу UDP, при превышении ограничения на максимальный размер ответа по умолчанию (1400 байт).
Данную настройку следует использовать с большой осторожностью, так как фрагментация UDP-пакетов в сетях со сложной топологией может привести к обратному эффекту!
-
При необходимости добавьте одну или несколько обратных DNS-зон.
Например:
/app/inno-samba/bin/samba-tool dns zonecreate <Your-AD-DNS-Server-IP-or-hostname> 9.0.10.in-addr.arpa -U Administrator Password for [administrator@SAMDOM.EXAMPLE.COM]: Zone 9.0.10.in-addr.arpa created successfully