SambaAD
Содержание
- 1 Контроллер домена
- 1.1 Введение
- 1.2 Подготовка к установке
- 1.3 Установка Samba
- 1.4 Инициализация Samba Active Directory
- 1.5 Настройка бэкенда AD DNS
- 1.6 Настройка DNS Resolver-а
- 1.7 Создание обратной зоны DNS
- 1.8 Настройка Kerberos
- 1.9 Тестирование Вашего контроллера домена на Samba
- 1.10 Настройка синхронизации времени (необязательно, в зависимости от варианта использования)
- 1.11 Использование контроллера домена в качестве файлового сервера (по желанию)
- 1.12 Устранение неполадок
Контроллер домена
Введение
Начиная с версии 4.0 (выпущенной в 2012 г.) Samba может выступать в качестве контроллера домена (DC) Active Directory (AD). Samba может работать на функциональном уровне леса Windows Server 2008 R2, которого более чем достаточно для управления сложными предприятиями, использующих Windows 10/11 со строгими требованиями соответствия (включая NIST 800-171).
Если вы устанавливаете Samba в производственной среде, рекомендуется установить два или более контроллера домена для аварийного переключения, более подробную информацию о подготовке отказоустойчивого контроллера домена можно найти в другом месте на вики. В этой документации описывается, как настроить Samba в качестве основного контроллера домена для создания нового леса AD. Кроме того, используйте эту документацию при переносе домена Samba NT4 в Samba AD. Чтобы присоединить Samba в качестве дополнительного контроллера домена к существующему лесу AD, см. раздел Присоединение контроллера домена Samba к существующему домену Active Directory.
Samba как AD DC поддерживает только:
- Интегрированный сервер LDAP в качестве серверной части AD.
- Центр распространения ключей Heimdal Kerberos (KDC).
- Samba обеспечивает экспериментальную поддержку MIT Kerberos KDC, предоставляемого вашей операционной системой, если вы запускаете Samba 4.7 или более позднюю версию и собранную с ключом --with-system-mitkrb5. В других случаях Samba использует Heimdal KDC, включенный в Samba.
- Размещение и администрирование объектов групповой политики, которые будут использоваться для управления парком предприятия
В этом руководстве предполагается, что планируется "чистая" установка Samba на свежеустановленную операционную систему. Важно отметить, что существует различие между установкой Samba и инициализацией Samba. В общем, весь процесс настройки контроллера домена Samba состоит из 5 относительно простых шагов. Эти шаги заключаются в следующем:
- Установка Samba и сопутствующих пакетов
- Удаление предварительно настроенных файлов конфигурации заполнителей Samba и Kerberos.
- Инициализация Samba с помощью инструмента автоматической инициализации
- Редактирование smb.conf по мере необходимости (включение групповой политики и/или других функций по мере необходимости)
- Любая другая конфигурация среды на основе дистрибутива Unix/Linux.
Эта страница охватывает много информации об установке Samba как в системах Unix, так и в Linux. Процесс установки немного различается в зависимости от среды, поэтому на протяжении всего чтения следите за связанными веб-страницами на нескольких вкладках. В оставшейся части этого руководства используется следующий пример информации:
- Имя хоста = DC1
- Локальный IP-адрес контроллера домена = 10.99.0.1
- Домен аутентификации = SAMDOM.EXAMPLE.COM
- Домен верхнего уровня = EXAMPLE.COM
Подготовка к установке
Установка с нуля
Samba была установленна ранее
- Если вы ранее запускали установку Samba на этом хосте:
- Удалите существующий файл smb.conf. Чтобы найти путь к файлу введите:
# smbd -b | grep "CONFIGFILE" CONFIGFILE: /usr/local/samba/etc/samba/smb.conf
- Удалите все файлы базы данных Samba, такие как *.tdbа и *.ldb файлы. Чтобы просмотреть папки, содержащие базы данных Samba введите:
# smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" LOCKDIR: /usr/local/samba/var/lock/ STATEDIR: /usr/local/samba/var/locks/ CACHEDIR: /usr/local/samba/var/cache/ PRIVATE_DIR: /usr/local/samba/private/
Начало работы с чистой средой помогает избежать путаницы и гарантирует, что никакие файлы из любой предыдущей установки Samba не будут смешаны с новой установкой контроллера домена.
- Удалите существующий файл /etc/krb5.conf:
# rm /etc/krb5.conf
Установка Samba
См. документацию Вашего дистрибутива
Инициализация Samba Active Directory
В процессе подготовки Samba AD создаются базы данных AD и добавляются начальные записи, такие как учетная запись администратора домена и необходимые записи DNS. Samba поставляется со встроенным инструментом командной строки, который называется samba-tool который можно использовать для автоматической настройки вашего smb.conf при запуске в интерактивном режиме.
Если вы переносите домен Samba NT4 в AD, пропустите этот шаг и запустите классическое обновление Samba. Дополнительные сведения см. в разделе Миграция домена Samba NT4 в Samba AD (классическое обновление).
Команда samba-tool domain provision
предоставляет несколько параметров для использования с интерактивной и неинтерактивной настройкой. Подробнее см.:
# samba-tool domain provision --help
Справочник по параметрам
Во время подготовки задайте следующие параметры:
Настройка интерактивного режима | Параметр неинтерактивного режима | Объяснение |
---|---|---|
--use-rfc2307
|
--use-rfc2307
|
Включает расширения NIS, необходимые для вкладки ADUC Unix Attributes. |
Realm
|
--realm
|
Область Kerberos. Версия домена AD DNS в верхнем регистре. Например SAMDOM.EXAMPLE.COM .
|
Domain
|
--domain
|
Имя домена NetBIOS (Workgroup). Это может быть что угодно, но это должно быть одно слово длиной не более 15 символов и без точки. Рекомендуется использовать первую часть домена AD DNS. Например: samdom. Не используйте короткое имя хоста компьютеров. |
Server Role
|
--server-role
|
Устанавливает роль контроллера домена DC .
|
DNS backend
|
--dns-backend
|
Устанавливает DNS-бэкенд. Первый контроллер домена в AD должен быть установлен с использованием серверной части DNS. Обратите внимание, что BIND9_FLATFILE не поддерживается и будет удален в будущей версии Samba.
|
DNS forwarder IP address
|
недоступно | Этот параметр доступен только при использовании SAMBA_INTERNAL DNS-бэкенде.
|
Administrator password
|
--adminpass
|
Устанавливает пароль администратора домена. Если пароль не соответствует требованиям сложности, подготовка завершается ошибкой. Дополнительные сведения см. в Microsoft TechNet: пароли должны соответствовать требованиям сложности. |
Инициализация Samba AD в интерактивном режиме
Как указано выше, samba-tool при запуске в качестве маршрута (route) автоматически настроит ваш smb.conf для контроллера домена. Интерактивный режим не будет автоматически включать поддержку групповой политики. Однако это можно добавить позже, отредактировав вручную smb.conf. Откройте страницу групповой политики в новой вкладке для дальнейшего чтения.
#mv /etc/samba/smb.conf /etc/samba/smb.conf.initial
При удаленном файле smb.conf, настройте Samba AD в интерактивном режиме, запустив команду:
# samba-tool domain provision --use-rfc2307 --interactive Realm [SAMDOM.EXAMPLE.COM]: SAMDOM.EXAMPLE.COM Domain [SAMDOM]: SAMDOM Server Role (dc, member, standalone) [dc]: dc DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL DNS forwarder IP address (write 'none' to disable forwarding) [10.99.0.1]: 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 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 Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Setting up fake yp server settings Once the above files are installed, your Samba4 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
Инициализация Samba AD в неинтерактивном режиме
Для примера, для подготовки Samba AD в не-интерактивном режиме выполняется настройка со следующими параметрами:
- Роль сервера: dc
- Включение расширений NIS
- Внутренний сервер DNS
- Область Kerberos и зона AD DNS: samdom.example.com
- Доменное имя NetBIOS: SAMDOM
- Пароль администратора домена: Passw0rd
# samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=SAMDOM.EXAMPLE.COM --domain=SAMDOM --adminpass=Passw0rd
Настройка бэкенда AD DNS
Пропустите эту часть если Вы настроили КД с DNS-бэкендом SAMBA_INTERNAL.
Настройте сервер BIND DNS и модуль BIND9_DLZ. Подробно смотрите в Настройка BIND DNS Server.
Запустите BIND DNS server. Например:
# systemctl start named
Для более подробной информации, см. документацию Вашего дистрибутива.
Настройка DNS Resolver-а
Члены домена в AD используют DNS для поиска служб, таких как LDAP и Kerberos. Для этого им необходимо использовать DNS-сервер, способный разрешать зону AD DNS.
На своем контроллере домена установите домен вашего DC в search и IP в параметре nameserver в файле /etc/resolv.conf. Например:
search samdom.example.com nameserver 10.99.0.1
Создание обратной зоны DNS
При желании вы можете добавить зону обратного просмотра.
# samba-tool dns zonecreate <Your-AD-DNS-Server-IP-or-hostname> 0.99.10.in-addr.arpa -U Administrator Password for [administrator@SAMDOM.EXAMPLE.COM]: Zone 0.99.10.in-addr.arpa created successfully
Если вам нужно более одной обратной зоны (при использовании нескольких подсетей), просто запустите приведенную выше команду еще раз, но с данными для другой подсети.
Обратная зона работает напрямую без перезапуска Samba или BIND.
Настройка Kerberos
В AD Kerberos используется для аутентификации пользователей, компьютеров и служб.
Во время подготовки Samba создает файл конфигурации Kerberos для вашего контроллера домена. Скопируйте этот файл в конфигурацию Kerberos вашей операционной системы. Например:
# cp /usr/local/samba/private/krb5.conf /etc/krb5.conf
Не создавайте символическую ссылку на сгенерированный файл krb5.conf. В Samba 4.7 и более поздних версиях каталог /usr/local/samba/private/ больше не доступен для других пользователей, кроме пользователя root. Если файл представляет собой символическую ссылку, другие пользователи не смогут прочитать файл, и, например, динамические обновления DNS завершатся ошибкой, если вы используете BIND_DLZ как DNS-бэкенд.
Предварительно созданная конфигурация Kerberos использует записи ресурсов службы DNS (SRV) для обнаружения KDC.
Тестирование Вашего контроллера домена на Samba
Проверка Файлового сервера (по желанию)
Для вывода всех общих ресурсов предоставляемых DC:
До Samba 4.11.0:
$ smbclient -L localhost -N Anonymous login successful Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba x.y.z) Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z] Server Comment --------- ------- Workgroup Master --------- -------
После Samba 4.11.0
smbclient -L localhost -N Anonymous login successful Sharename Type Comment --------- ---- ------- sysvol Disk netlogon Disk IPC$ IPC IPC Service (Samba 4.12.6-Debian) SMB1 disabled -- no workgroup available
Для проверки подлинности подключитесь к ресурсу netlogon с помощью учетной записи администратора домена:
$ smbclient //localhost/netlogon -UAdministrator -c 'ls' Enter Administrator's password: Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z] . D 0 Tue Nov 1 08:40:00 2016 .. D 0 Tue Nov 1 08:40:00 2016 49386 blocks of size 524288. 42093 blocks available
Проверка DNS (по желанию)
Чтобы убедиться, что ваша конфигурация AD DNS работает правильно, запросите некоторые записи DNS:
- на основе TCP _ldap SRV-запись в домене:
$ host -t SRV _ldap._tcp.samdom.example.com. _ldap._tcp.samdom.example.com has SRV record 0 100 389 dc1.samdom.example.com.
- на основе udp-_kerberos ресурсную SRV-запись в домене:
$ host -t SRV _kerberos._udp.samdom.example.com. _kerberos._udp.samdom.example.com has SRV record 0 100 88 dc1.samdom.example.com.
- A-запись контроллера домена:
$ host -t A dc1.samdom.example.com. dc1.samdom.example.com has address 10.99.0.1
Если один или несколько тестов не пройдены, см раздел Устранение неполадок.
Проверка Kerberos (по желанию)
Это не обязательно, но рекомендуется убедиться, что механизмы проверки подлинности вашего контроллера домена работают должным образом. Чтобы проверить это, войдите в систему и запросите билет Kerberos для учетной записи администратора домена:
$ kinit administrator Password for administrator@SAMDOM.EXAMPLE.COM:
Всегда вводите область Kerberos в верхнем регистре.
Список кэшированных билетов Kerberos:
$ klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@SAMDOM.EXAMPLE.COM Valid starting Expires Service principal 01.11.2016 08:45:00 12.11.2016 18:45:00 krbtgt/SAMDOM.EXAMPLE.COM@SAMDOM.EXAMPLE.COM renew until 02.11.2016 08:44:59
Если один или несколько тестов не пройдены, см. раздел "Устранение неполадок"
Настройка синхронизации времени (необязательно, в зависимости от варианта использования)
Kerberos требует синхронизации времени на всех членах домена. Для получения дополнительной информации и настройки ntpd или же chrony см . раздел Синхронизация времени. Однако, если Samba используется в качестве контроллера домена для администрирования групповой политики, можно определить объект групповой политики, который синхронизирует рабочие станции с time.windows.com после установки, что упрощает синхронизацию.
Использование контроллера домена в качестве файлового сервера (по желанию)
Несмотря на то, что Samba AD DC может предоставлять общий доступ к файлам, как и все другие режимы установки, команда Samba не рекомендует использовать DC в качестве файлового сервера по следующим причинам:
- Для любых организаций, кроме самых маленьких, наличие более одного контроллера домена является хорошей резервной мерой и делает обновления более безопасными.
- Данная мера поощряет обновление контроллера домена также как обновление хостовой ОС раз или два в год, потому что нет важных данных для перехода или других задействованных служб.
- Это означает, что можно выполнять обновления, устанавливая новые возможности и копируя изменения, которые лучше тестируются в Samba, получать новые функции и избегать ряда сохраняющихся рисков повреждения данных.
- DC и файловый сервер имеют разные точки, в которых организация хотела бы обновиться. Потребность в новых функциях контроллера домена и файлового сервера возникает в разное время. В настоящее время AD DC быстро развивается, приобретая новые функции, в то время как файловый сервер по прошествии более 20 лет стал более консервативным.
- на контроллере домена применяется обязательная подпись smb.
Если вы все-таки решите использовать контроллер домена Samba в качестве файлового сервера, рассмотрите возможность запуска виртуальной машины на контроллере домена, содержащей отдельный элемент домена Samba Unix, и используйте вместо этого его.
Если вы хотите использовать Samba DC в качестве файлового сервера, вы должны знать, что acl_xattr
Виртуальной файловой системы (VFS) позволяет настраивать общие ресурсы только со списками управления доступом Windows (ACL). Использование списков контроля доступа POSIX с общими ресурсами на контроллере домена Samba не работает.
Вы должны знать, что если вы хотите использовать объект vfs на общем ресурсе DC, например, корзину, вы не должны просто установить vfs objects = recycle
в общем ресурсе. Это отключит объекты vfs по умолчанию. dfs_samba4
а также acl_xattr
. Вы должны установить vfs objects = dfs_samba4 acl_xattr recycle
.
Чтобы предоставить сетевым ресурсам все возможности Samba, настройте члена домена Samba с общими файловыми ресурсами. Подробнее см.:
Если у вас есть только небольшой домен (маленький офис, домашняя сеть) и вы не хотите следовать рекомендации команды Samba и дополнительно использовать DC в качестве файлового сервера, настройте Winbindd до того, как начнете настраивать общие ресурсы. Дополнительные сведения см. в разделе Настройка Winbindd на Samba AD DC.
Устранение неполадок
Будет заменен на https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller
Samba | |||
---|---|---|---|
Файловое хранилище | Samba как файловый сервер • Подключение общей папки • Samba как файловый сервер в домене | ||
Служба каталогов | |||
Сервер | Samba как служба каталогов (AD) • Изменение IP-адреса AD • Репликация сервера AD • Резервное копирование и восстановление • Управление пользователями • Групповые политики • Групповая политика паролей | ||
Клиент | Подключение клиента AD • Устранение неполадок участников домена Samba | ||
Бэкэнды идентификаторов winbind | idmap config tdb • idmap config ad • idmap config rid • idmap config autorid | ||
Прочее | Samba как сервер печати • Проверка конфигурационного файла • Утилиты командной строки • LMHOSTS • Уровень логов • Каталоги Samba • Настройка DNS | ||
Разное | Настройка Samba для привязки к определенным интерфейсам • Тестирование динамических обновлений DNS • Samba Перенастройка бэкенда BIND9 DLZ • Конфигурация DNS для Linux и Unix | ||
Информация | SSSD vs Winbind • Установка Samba |