Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • Интегрированый сервер LDAP как база данных AD. Подробности см. Поддерживают ли Samba AD DC работу с OpenLDAP или другими службами LDAP?;
  • Авторизацию через службу Kerberos Key Distribution Center (KDC). Поддерживаются варианты MIT KDC и Heimdal KDC.
    Поставляемая в составе ОС ОН Орёл 2.21 и ОС СН Смоленск 1.6 Samba использует MIT KDC, также поставляемый в составе этих ОС;
  • Работу с встроенным сервером DNS
  • Работу с внешним сервером DNS (в примерах ниже рассматривается работа с сервером DNS BIND9)

...

Установка и настройка контроллера и клиента домена

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

  • Выберите имя хоста для вашего AD DC;
    Никогда не используйте . Не рекомендуется использовать в качестве имен хостов такие идентификаторы, как PDC или BDC, унаследованные от NT4 .
    Эти сущности отсутствуют в AD, и такие названия вызывают путаницу;

  • Выберите DNS-имя для вашего доменного леса AD. Это имя также будет использовано как имя области (realm) Kerberos AD ;

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


  • Используйте для DC статический адрес.  Дополнительную информацию см. Часто задаваемые вопросы по именованию доменов AD;

  • Отключите инструменты (например, resolvconf), которые автоматически обновляют файл настроек DNS /etc/resolv.conf.
    AD DC и члены домена обязаны использовать сервер DNS, способный разрешать зоны DNS AD .

  • Убедитесь, что файл /etc/hosts на DC корректно разрешает полное доменное имя (fully-qualified domain name, FQDN) и короткое имя хоста DC во внешний сетевой IP-адрес DC.
    Например: 

    Информация
    127.0.0.1 localhost.localdomain localhost
    10.0.2.254 DC.samdom.example.com DC

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

Детальная настройка

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

...

Если Samba уже была установлена (настроена)

Если Samba уже была установлена (настроена):

  • Проверьте, что все процессы Samba остановлены:
Command
ps ax |

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

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

...

Убедитесь, что файл /etc/hosts на DC корректно разрешает полное доменное имя (fully-qualified domain name, FQDN) и короткое имя хоста DC во внешний сетевой IP-адрес DC.
Например: 

Информация
127.0.0.1 localhost.localdomain localhost
10.0.2.254 DC.samdom.example.com DC

имя хоста не должно разрешаться в IP-адрес 127.0.0.1 или в любой другой IP-адрес, кроме используемого на внешнем сетевом интерфейсе DC  

...

    • Проверьте, что все процессы Samba остановлены:
Command
ps ax | egrep "samba|smbd|nmbd|winbindd"

...

Command
sudo systemctl stop samba smbd nmbd winbind
sudo systemctl mask samba smbd nmbd winbind


Command

Обратите внимание:

  • Пакет (apt install winbind) называется winbind с одним 'd';
  • Процесс (ps fax | grep winbindd) называется winbindd с двумя 'dd';
  • Сервис (sytemsctl status winbind) называется winbind с одним 'd';


  • Удалите все существующие файлы конфигурации Samba smb.conf file. Чтобы получить список путей к этим файлам:

...

    • Удалите все файлы баз данных Samba (*.tdb и *.ldb). Чтобы получить список путей к этим файлам::
Commandinfo
Titlesmbd -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/

...

  • Если существует файл настроек Kerberos /etc/krb5.conf file, также удалите его: 
Информацияcommand
sudo rm /etc/krb5.conf

Установка Samba

Пакет Samba входит в дистрибутивы ОСОН ОС ОН Орёл и ОССН ОС СН Смоленск, и может быть установлен с помощью графического менеджера пакетов,
или из командной строки командой

Информацияcommand
sudo apt install samba

После установки сервис smbd будет запущен автоматически с настройками "по умолчанию".

Отдельно установленный пакет samba может быть использован как файловый сервер или сервер печати. Для использования samba в качестве домена AD нужно установить пакет samba и дополнительные пакеты:

Информацияcommand

sudo apt install samba winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user krb5-kdc

Назначение Samba на роль AD DC

Информация
В английском языке для настройки Samba в роли AD DC используется термин "provisioning", в данном тексте в качестве перевода будет использоваться термин "назначение".

В процессе назначения Samba на роль AD DC создаются базы данных AD и в них добавляются базовые записи, такие как учетная запись администратора домена, и необходимые записи DNS.

При осуществлении миграции из домена Samba NT4 в домен AD, этот шаг следует пропустить, и выполнить стандартное обновление.
Детали см. Миграция домена Samba NT4 в домен Samba AD (стандартное обновление).

-winbind libpam-krb5 krb5-config krb5-user krb5-kdc

Назначение Samba на роль AD DC

Информация
В англоязычной документации для обозначения процесса настройки Samba на выполнение роли AD DC используется термин "provisioning", в данном тексте в качестве перевода будет использоваться термин "Назначение".


Предупреждение

Выполнение Назначения требует наличия привилегий суперпользователя (в ОС СН - суперпользователя с высоким уровнем целостности) для создания конфигурационных файлов и установки прав доступа. После выполнения Назначения служба smbd перестанет работать,  а службы winbind,nmbd, krb5-kdc перейдут

Предупреждение

Выполнение настроек AD требует наличия привилегий суперпользователя для создания файлов и установки прав.

После выполнения назначения службы winbind, smbd, krb5-kdc прейдут под управление доменной службы samba-ad-dc/. Однако, после установки всех необходимых пакетов все эти службы будут автоматически запущены, и перед выполнением Назначения их нужно будет остановить и заблокировать их автоматический запуск. Приведённые далее сценарии Назначения содержат соответствующие команды.

Назначение Назначение Samba на роль DC выполняется с помощью команды samba-tool domain provision.
Эта команда поддерживает параметры для возможность выполнения настроек в интерактивном или автоматическом режимах. Подробности см.:

Информацияcommand

samba-tool domain provision --help

...

Описание

...

возможеных параметров Назначения

При назначении Назначении будут применяться следующие параметры:

Интерактивный режимАвтоматический режимКомментарий
--use-rfc2307--use-rfc2307Включает расширения NIS
Realm--realm

Область Kerberos. Также, используется как домен DNS AD . Например: samdom.example.com.

Domain--domainИмя домена для NetBIOS.
Рекомендуется использовать первую часть имени домена DNS AD.
Например, для домена samdom.example.com это будет имя samdom.
Server Role--server-roleУстанавливает роль контроллера DC.
DNS backend--dns-backend

Выбирает службу DNS.

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

Отметим, что вариант службы Варианты служб NONE и BIND9_FLATFILE более не поддерживается.

DNS forwarder IP addressнедоступноЭта настройка доступна только при выборе службы DNS SAMBA_INTERNAL DNS. Подробности см. Настройка перенаправления DNS.

Administrator password

--adminpass

Устанавливает пароль администратора домена.

Предупреждение
Если заданный пароль не будет соответствовать требованиям по сложности пароля, назначение не будет выполнено.

Подробности см. Microsoft TechNet: Сложность паролей должна соответствовать требованиям.

...

Назначение Samba в интерактивном режиме

Для назначения Samba выполнения Назначения в интерактивном режиме выполните команды:

info
Command

# Останавливаем более ненужные службы


sudo systemctl stop winbind smbd krb5-kdc
sudo systemctl mask winbind smbd krb5-kdc
sudo rm /etc/samba/smb.conf

# Назначение
sudo samba-tool domain provision --use-rfc2307 --interactive

# Запуск служб
systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
systemctl start samba-ad-dc

После этого В процессе Назначения должен произойти примерно такой диалог:

Раскрыть
titleНажмите, чтобы развернуть

# Запрашивается имя области 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.2.254]: 8.8.8.8

# Ввод и подтверждение пароля администратора
Administrator password: Passw0rd
Retype password: Passw0rd

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 dbLooking 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 partitions and groups settings
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: 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: DC
NetBIOS Domain: SAMDOM
DNS Domain: samdom.example.com
DOMAIN SID: S-1-5-21-2614513918-2685075268-614796884

Интерактивный режим настройки поддерживает различные параметры  команды samba-tool domain provision, что позволяет задавать настройки, не содержащиеся в интерактивном диалоге.

Назначение Samba в автоматическом режиме

Для примера назначения Samba в автоматическом режиме используем следующие параметры:

  • Роль сервера: dc
  • Расширения NIS: включены
  • Служба DNS: внутренний DNS BIND9_DLZ
  • Область Kerberos и зона DNS AD: samdom.example.com
  • Имя домена для NetBIOS: SAMDOM
  • Пароль администратора: Passw0rd
  • Используется сеть 10.0.2.0/24
  • Адрес хоста Samba 10.0.2.254

Для указанных параметров команда назначения будет выглядеть так:

Информация

samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ --realm=SAMDOM.EXAMPLE.COM --domain=SAMDOM --adminpass=Passw0rd

Настройка запуска служб после назначения

После выполнения назначения следует включить автоматический запуск служб AD DC:

Информация

systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
systemctl start samba-ad-dc

Настройка Kerberos

Общий сервер Kerberos-Samba

Остановить службу Kerberos:

Информация

sudo systemctl stop krb5-kdc

Запретить автоматический запуск службы Kerberos:

Информация
sudo systemctl mask krb5-kdc

После выполнения операции назначения служба Kerberos krb5-kdc будет автоматически запускаться вместе с остальными доменными службами Samba под контролем samba-ad-dc.

Отдельный сервер Kerberos 

...

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: DC
NetBIOS Domain: SAMDOM
DNS Domain: samdom.example.com
DOMAIN SID: S-1-5-21-2614513918-2685075268-614796884

Интерактивный режим настройки поддерживает различные параметры  команды samba-tool domain provision, что позволяет задавать настройки, не содержащиеся в интерактивном диалоге.

Назначение Samba в автоматическом режиме

Для примера назначения Samba в автоматическом режиме используем следующие параметры:

  • Роль сервера: dc
  • Расширения NIS: включены
  • Служба DNS: внутренний DNS BIND9_DLZ
  • Область Kerberos и зона DNS AD: samdom.example.com
  • Имя домена для NetBIOS: SAMDOM
  • Пароль администратора: Passw0rd
  • Используется сеть 10.0.2.0/24
  • Адрес хоста Samba 10.0.2.254

Для указанных параметров команда назначения будет выглядеть так:

Command

samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ --realm=SAMDOM.EXAMPLE.COM --domain=SAMDOM --adminpass=Passw0rd

Настройка службы DNS AD 

Пропустите этот шаг, если используется служба DNS SAMBA_INTERNAL.

...

Проверить правильность работы сервиса для использованного в примере домена samdom.example.com можно с помощью команды dig:

Информацияcommand
dig samdom.example.com

Ответ должен выглялядеть примерно так:

...

  • имя домена DNS AD  как имя домена для поиска (search),
  • IP-адрес вашего DC как значение параметра nameservere.

Например:

info
Command
Title
search samdom.example.com

nameserver 10.0.2.254

Создание реверсивной зоны

С помощью команды samba-tool dns zonecreate можно добавить необязательную зону реверсивного поиска:

info dns zonecreate -U Administrator samdom.example.com 2.0.10.in-addr.arpa
Command
Title
samba-tool
dns zonecreate -U Administrator

Password for [administrator@SAMDOM.EXAMPLE.COM]:
Zone 2.0.10.in-addr.arpa created successfully

...

Во время процедуры назначения Samba создает конфигурационный файл /vat/lib/samba/private/krb5.conf для клиентов Kerberos, настроенный на создаваемый DC.
Это файл должен быть скопирован в рабочую конфигурацию Kerberos на хостах, входящих в домен. Например:

Информация

cp -b /var/lib/samba/private/krb5.conf /etc/krb5.conf

Так как автоматически создаваемый файл конфигурации Kerberos настраивает клиентов Kerberos на использование  сервисных записей DNS (SRV) для поиска контроллера Kerberos (KDC),
в домене должна быть правильно настроена и работать служба DNS.

Тестирование Samba AD DC

Для ручного запуска сервиса samba в режиме AD DC используйте команду:

Информация

samba

Samba не поддерживает инициализационные сценарии System V, systemd, upstart, или иные файлы конфигурации сервисов.

...

файл должен быть скопирован в рабочую конфигурацию Kerberos на хостах, входящих в домен. Например:

Command

cp -b /var/lib/samba/private/krb5.conf /etc/krb5.conf

Так как автоматически создаваемый файл конфигурации Kerberos настраивает клиентов Kerberos на использование  сервисных записей DNS (SRV) для поиска контроллера Kerberos (KDC),
в домене должна быть правильно настроена и работать служба DNS.

...

Тестирование файлового сервера

Во время назначения автоматически создаются разделяемые ресурсы netlogon и sysvol, и они обязательно должны существовать в DC.
Чтобы увидеть все  разделяемые файловые ресурсы, предоставляемые DC:

Информацияcommand

smbclient -L localhost -U%

...

Для проверки работы аутентификации, подключитесь к ресурсу netlogon с использованием учётной записи администратора домена:

Информация
smbclient //localhost/netlogon -UAdministrator -c 'ls'
Command
Раскрыть
titleНажмите, чтобы развернуть

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

...

  • SRV-запись доменного cервиса  _ldap по протоколу TCP:
info
Command
Title
host -t SRV _ldap._tcp.samdom.example.com.

_ldap._tcp.samdom.example.com has SRV record 0 100 389 dc.samdom.example.com.

  • SRV-запись доменного cервиса  _kerberos по протоколу UDP:
info
Command
Title
host -t SRV _kerberos._udp.samdom.example.com.
_kerberos._udp.samdom.example.com has SRV record 0 100 88 dc.samdom.example.com.
  • A-запись контроллера домена:
Commandinfo
Titlehost -t A dc.samdom.example.com.

dc.samdom.example.com has address 10.99.0.1

...

Получение билета Kerberos для учетной записи администратора домена:

info
Command
Title
kinit administrator
Password for administrator@SAMDOM.EXAMPLE.COM:

...

Предупреждение

Имена областей Kerberos всегда пишутся заглавными буквами.

Список полученных кешированных билетов Kerberos:

info
Command
Title
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

...

Подробная информация об инструменте доступна в справочнике man:

Информацияcommand

man samba-tool

Краткую справку по работе инструмента можно получить командой

Информацияcommand

samba-tool -h 

Инструмент wbinfo

...

Для работы с этой службой используется инструмент командной строки wbinfo,
позволящий позволяющий получать информацию о пользователях и группах AD.

...

После внесения изменений проверить правильность конфигурации командой 

Информацияcommand
testparm

И перезапустить службы samba.

...

На пользовательском компьютере использовать команду:

Информацияcommand

pam-auth-update

И убедиться, что включены все профили PAM.
При необходимости - включить аутентификацию winbind, используя клавишу "пробел". 
По окончании нажать клавишу "Tab", перейти на "ОК", и записать изменения.

...

  • Для всех организаций, за исключением самых маленьких, наличие более, чем одного DC, является реально хорошим способом резервирования, повышающим безопасность обновлений;
  • Отсутсвие Отсутствие сложных данных и влияния на другие сервисы позволяет обновлять DC совместно с ОС хоста каждые год или два;
  • Обновления могут выполняться путем установки новых версий, или внесения изменений, которые лучше проверены в Samba, что позволяет получить новые возможности, избежав множества рисков, связанных с повреждением данных;
  • Необходимость модернизации DC и файлового сервера наступает в разные моменты. Потребность в новых возможностях DC и файлового сервера возникает в разные моментв времени. В то время, как AD DC стремительно развивается, приобретая новые возможности, файловый сервер, после более 20 лет, гораздо более консервативен;
  • mandatory smb signing is enforced on the DC.

...