Информация |
---|
Для упрощения настройки рекомендуется воспользоваться инструментами Astra: см. статью Инструменты Astra Linux для работы с доменами Samba AD и Windows AD |
Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Информация |
---|
В англоязычной документации для обозначения процесса настройки Samba на выполнение роли AD DC используется термин "provisioning", в данном тексте в качестве перевода будет использоваться термин "Назначение". |
Предупреждение |
---|
Выполнение Назначения требует наличия привилегий суперпользователя (в Astra Linux Special Edition - суперпользователя с высоким уровнем целостности) для создания конфигурационных файлов и установки прав доступа. После выполнения Назначения служба smbd перестанет работать, а службы winbind,nmbd, krb5-kdc перейдут под управление доменной службы samba-ad-dc. Однако, после установки всех необходимых пакетов все эти службы будут автоматически запущены, и перед выполнением Назначения их нужно будет остановить и заблокировать их автоматический запуск. Приведённые далее сценарии Назначения содержат соответствующие команды. |
Введение
Данная статья основывается на материалах из wiki.samba.org
Samba, начиная с версии 4.0, может работать как контроллер домена (domain controller, DC) Active Directory (AD).
Информация |
---|
При применении Samba в качестве DC AD в условиях реальной эксплуатации |
Эта статья рассказывает, как настроить Samba как первый DC в домене, чтобы построить новый лес AD. Также статью можно использовать для миграции из домена Samba NT4 в домен Samba AD.
Информация |
---|
Если требуется подключить Samba к уже существующему доменному лесу AD, как дополнительный DC
|
Samba при использовании в роли AD DC поддерживает:
- Интегрированный сервер LDAP как база данных AD. Подробности см. Поддерживают ли Samba AD DC работу с OpenLDAP или другими службами LDAP;
- Авторизацию через службу Kerberos Key Distribution Center (KDC). Поддерживаются варианты MIT KDC и Heimdal KDC;
Поставляемая в составе Astra Linux Samba использует MIT KDC, также поставляемый в составе этих ОС; - Работу с встроенным сервером DNS;
- Работу с внешним сервером DNS (в примерах ниже рассматривается работа с сервером DNS BIND9).
Установка и настройка контроллера и клиента домена
Подготовка к инсталляции
- Выберите имя хоста для вашего AD DC. Не рекомендуется использовать в качестве имен хостов такие идентификаторы, как PDC или BDC, унаследованные от NT4 . Эти сущности отсутствуют в AD, и такие названия вызывают путаницу;
Выберите DNS-имя для доменного леса AD. Это имя также будет использовано как имя области (realm) Kerberos AD ;
Предупреждение Для создания домена AD используйте DNS-имя, которое не понадобится изменять. Samba не поддерживает переименование зон DNS AD и областей Kerberos. Назначьте хосту полное доменное имя (FQDN), например dc2.samdom.example.com:
Command sudo hostnamectl set-hostname dc2.samdom.example.com - Используйте для контроллера домена статический адрес. Дополнительную информацию см. Часто задаваемые вопросы по именованию доменов AD;
Отключите инструменты (например, resolvconf), которые автоматически обновляют файл настроек DNS /etc/resolv.conf.
AD DC и члены домена обязаны использовать сервер DNS, способный разрешать зоны DNS AD . Если в сети нет других серверов DNS, то файл /etc/resolv.conf должен указывать адрес самого сервера:Информация Title search samdom.example.com search samdom.example.com
nameserver 10.0.2.254Убедитесь, что файл /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. Для проверки правильности настроек можно использовать команду:
Command host `hostname`
Если Samba уже была установлена (настроена)
Если Samba уже была установлена (настроена):
- Проверьте, что все процессы Samba остановлены:
Command |
---|
ps ax | egrep "samba|smbd|nmbd|winbindd|rkb5-kdc" |
- Если вывод команды показывает наличие любого из процессов samba, smbd, nmbd, или winbindd, то остановите эти процессы и запретите их автоматический запуск:
Command |
---|
sudo systemctl stop smbd nmbd winbind krb5-kdc sudo systemctl mask smbd nmbd winbind krb5-kdc |
Command |
---|
Обратите внимание:
|
- Удалите все существующие файлы конфигурации Samba smb.conf file. Чтобы получить список путей к этим файлам:
Command | ||
---|---|---|
| ||
CONFIGFILE: /usr/local/samba/etc/samba/smb.conf |
- Удалите все файлы баз данных Samba (*.tdb и *.ldb). Чтобы получить список путей к этим файлам:
Command | ||
---|---|---|
| ||
LOCKDIR: /usr/local/samba/var/lock/ |
Предупреждение |
---|
Только полная очистка настроек поможет предотвратить ошибки, и гарантирует, что никакие файлы из предыдущей настройки Samba не попадут в новые настройки DC. |
- Если существует файл настроек Kerberos /etc/krb5.conf file, также удалите его:
Command |
---|
sudo rm /etc/krb5.conf |
Установка Samba
Пакет samba входит в дистрибутивы Astra Linux, и может быть установлен с помощью Графический менеджер пакетов synaptic,
или из командной строки командой
Command |
---|
sudo apt install samba |
После установки пакета samba сервис smbd будет запущен автоматически с настройками "по умолчанию".
Отдельно установленный пакет samba может быть использован как файловый сервер или сервер печати. Для использования samba в качестве домена AD нужно установить пакет samba и дополнительные пакеты:
Command |
---|
sudo apt install samba winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user krb5-kdc bind9 |
Обратите внимание - указанная команда устанавливает также и пакет bind9 - сервер DNS.
Назначение Samba на роль AD DC
Подготовительные команды
Перед Назначением останавливаем далее ненужные службы, запрещаем их запуск, и удаляем установленную по умолчанию конфигурацию Samba:
Command |
---|
sudo systemctl stop winbind smbd nmbd krb5-kdc |
Назначение
Назначение выполняется с помощью команды samba-tool domain provision. Эта команда поддерживает возможность выполнения настроек в интерактивном или автоматическом режимах. Подробности см.:
Command |
---|
samba-tool domain provision --help |
При создании нового домена AD рекомендуется сразу включить так называемые расширения NIS (NIS extensions), передав инструменту samba-tool domain provision параметр --use-rfc2307.
Это позволит хранить в AD специфические атрибуты Unix:
- Числовые идентификаторы пользователей (UID);
- Пути у домашним каталогам;
- Идентификаторы групп.
Включение расширений NIS при установке не влечёт за собой никаких отрицательных побочных эффектов, а их включение в существующем домене требует ручного расширения схемы AD.
Подробности см. в:
Описание возможных параметров Назначения
При Назначении будут применяться следующие параметры:
Интерактивный режим | Автоматический режим | Комментарий | ||
---|---|---|---|---|
--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.
Варианты служб NONE и BIND9_FLATFILE более не поддерживается. | ||
DNS forwarder IP address | недоступно | Эта настройка доступна только при выборе службы DNS SAMBA_INTERNAL DNS. Подробности см. Настройка перенаправления DNS. | ||
Administrator password | --adminpass | Устанавливает пароль администратора домена.
Подробности см. Microsoft TechNet: Сложность паролей должна соответствовать требованиям. |
Другие параметры, часто используемые в команде samba-tool domain provision:
--option="interfaces=lo eth0" --option="bind interfaces only=yes": Если сервер имеет несколько сетевых интерфейсов, используйте эти параметры для привязки Samba к нужным интерфейсам. Это позволить команде samba-tool зарегистрировать корректный сетевой адрес при настройке.
Предупреждение |
---|
|
Назначение Samba в интерактивном режиме
Для выполнения Назначения в интерактивном режиме выполнить команду:
Command |
---|
sudo samba-tool domain provision --use-rfc2307 --interactive # Настройка автоматического запуска доменной службы Samba # Перед запуском доменной службы samba настраиваем службу DNS # Запуск доменной службы Samba |
В процессе Назначения должен произойти примерно такой диалог:
Раскрыть | ||
---|---|---|
| ||
# Запрашивается имя области Kerberos # Запрашивается имя домена # Запрашивается роль сервера # Выбирается служба DNS # Выбирается IP-адрес для перенаправления запросов DNS # Ввод и подтверждение пароля администратора Looking up IPv4 addresses |
Оглавление |
---|
Введение
Начиная с версии 4.0, Samba может работать как контролер домена ( domain controller, DC) Active Directory (AD).
При приемнении Samba в реальной эксплуатации рекомендуется использовать два или более DC для обеспечения отказоустойчивости.
Эта статья рассказывает, как настроить Samba как первый DC, чтобы построить новый лес AD.
Дополнительно, можно использовать это описание для миграции из домена Samba NT4 в домен Samba AD.
Для подключения Samba как дополнительного DC к существющему доменному лесу AD, см. Присоединение Samba DC к существующему домену Active Directory.
Samba как AD DC поддерживает:
- интегрированый сервер LDAP как база AD. Подробности см. Поддерживают ли Samba AD DC работу с OpenLDAP или другими службами LDAP?
- авторизацию через службу Kerberos Key Distribution Center (KDC). Поддерживаются варианты MIT KDC и Heimdal KDC.
В случае применения в составе ОСОН Орёл или ОССН Смоленск Samba использует MIT KDC, поставляемый в составе этих ОС.
Подготовка к инсталляции
- Выберите имя хоста для вашего AD DC;
Не как используйте имена хостов унаследованные от NT4 такие идентификаторы, как PDC или BDC. Эти сущности отсутствуют в AD, и такие названия вызывают путаницу; - Выберите DNS-имя для вашего доменного леса AD. Это имя также будет использовано как имя области (realm) Kerberos AD ;
Предупреждение |
---|
Убедитесь, что вы настраиваете домен AD, используя DNS-имя, которое не понадобится изменять. Samba не поддерживает переименование зон DNS AD и областей Kerberos. |
Дополнительную информацию см. Часто задаваемые вопросы по именованию доменов AD
- Используйте для DC статический адрес;
- Отключите инструменты (например, resolvconf), которые автоматически обновляют файл настроек DNS /etc/resolv.conf.
AD DC и члены домена обязаны использовать сервер DNS, способный разрешать зоны DNS AD .
Убедитесь, что файл /etc/hosts на DC корректно разрешает во внешний сетевой IP-адрес DC полное доменное имя (fully-qualified domain name, FQDN) и короткое имя хоста. Например:
Информация |
---|
127.0.0.1 localhost localhost.localdomain 10.99.0.1 DC1.samdom.example.com DC1 |
имя хоста не должно разрешаться в IP-адрес 127.0.0.1 или в любой другой IP-адрес, кроме используемого на внешнем сетевом интерфейсе DC
...
Убедитесть, что все процессы Samba остановлены:
Информация |
---|
ps ax | egrep "samba|smbd|nmbd|winbindd" |
Если вывод команды показывает наличие любого из процессов samba, smbd, nmbd, или winbindd processes, остановите эти процессы:
Информация |
---|
systemctl stop samba systemctl stop smbd systemctl stop nmbd systemctl stop winbindd |
...
Удалите все существующие файл конфигурации Samba smb.conf file. Чтобы получить список путей к этим файлам:
Информация |
---|
smbd -b | grep "CONFIGFILE" |
- Удалите все файлы баз данных Samba (*.tdb и *.ldb). Чтобы получить список путей к этим файлам:
Информация |
---|
smbd -b | egrep "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" |
Предупреждение |
---|
Только полная очистка настроек поможет предотвратить ошибки, и гарантирует, что никакие файлы из предыдущей настроки Samba не попадут вновые настройки DC. |
Если существует файл настроек Kerberos /etc/krb5.conf file, также удалите его:
Информация |
---|
rm /etc/krb5.conf |
Установка Samba
Пакет Samba входит в дистрибутивы ОСОН Орёл и ОССН Смоленск, и может быть установлен с помощью графического менеджера пакетов,
или из командной строки командой
Информация |
---|
apt install samba |
После установки сервис smbd будет запущен автоматически с настройками "по умолчанию".
Для использования samba в качестве домена AD нужно установить дополниетельные пакеты:
Информация |
---|
apt-get install winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user |
Настройка Samba как AD DC
В процессе настройки Samba как AD DC создаются базы данных AD и в них добавляются базовые зщаписи, такие как учетная запись администратора домена и необходимые записи DNS.
При осуществлении миграции из домена Samba NT4 в домен AD, этот шаг следует пропустить, и выполнить стандартное обновление.
Детали см. Миграция домена Samba NT4 в домен Samba AD (стандартное обновление).
Выпослнение настроек AD требует наличия привилегий суперпользователя для создания файлов и установки прав.
Настройка Samba как DC выполняется с помощью команды samba-tool domain provision.
Эта команда поддерживает параметры для выполнения настроек в интереактивном или автоматическом режимах. Подробности см.:
Информация |
---|
samba-tool domain provision --help |
...
Подробности см. в:
Описание применяемых параметров
При настройке применим следующие параметры:
...
Область Kerberos. Также используется, как домен DNS AD . Например: samdom.example.com.
...
Administrator password
...
Другие параметры, часто используемые в команде samba-tool domain provision:
--option="interfaces=lo eth0" --option="bind interfaces only=yes": Если сервер имеет несколько сетевых интерфейсов, используйте эти параметры для привязки Samba к нужным интерфейсам. Это позволить команде samba-tool зарегистрировать корректный сетевой адрес при настройке.
Предупреждение |
---|
|
Настройка Samba AD в интерактивном режиме
Для настройки Samba AD в интерактивном режиме выполните команду:
Информация |
---|
samba-tool domain provision --use-rfc2307 --interactive |
...
title | После этого должен произойти примерно такой диалог: |
---|
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
The interactive provisioning mode supports passing further parameters to the samba-tool domain provision command. This enables you to modify parameters that are not part of the interactive setup.
...
For example, to provision a Samba AD non-interactively with the following settings:
Server role: dc
NIS extensions enabled
Internal DNS back end
Kerberos realm and AD DNS zone: samdom.example.com
NetBIOS domain name: SAMDOM
Domain administrator password: Passw0rd
# samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=SAMDOM.EXAMPLE.COM --domain=SAMDOM --adminpass=Passw0rd
Setting up the AD DNS back end
Skip this step if you provisioned the DC using the SAMBA_INTERNAL DNS back end.
Set up the BIND DNS server and the BIND9_DLZ module. For details, see Setting up a BIND DNS Server.
Start the BIND DNS server. For example:
# systemctl start named
For details how to start services, see you distribution's documentation.
Configuring the DNS Resolver
Domain members in an AD use DNS to locate services, such as LDAP and Kerberos. For that, they need to use a DNS server that is able to resolve the AD DNS zone.
On your DC, set the AD DNS domain in the domain and the IP of your DC in the nameserver parameter of the /etc/resolv.conf file. For example:
search samdom.example.com
nameserver 10.99.0.1
Create a reverse zone
You can optionally add a reverse lookup zone.
# samba-tool dns zonecreate <Your-AD-DNS-Server-IP-or-hostname> 0.99.10.in-addr.arpa
Password for [administrator@SAMDOM.EXAMPLE.COM]:
Zone 0.99.10.in-addr.arpa created successfully
If you need more than one reverse zone (multiple subnets), just run the above command again but with the data for the other subnet.
The reverse zone is directly live without restarting Samba or BIND.
Configuring Kerberos
In an AD, Kerberos is used to authenticate users, machines, and services.
During the provisioning, Samba created a Kerberos configuration file for your DC. Copy this file to your operating system's Kerberos configuration. For example:
...
/usr/local/samba/private/krb5.conf |
...
Do not create a symbolic link to the the generated krb5.conf file. In Samba 4.7 and later, the /usr/local/samba/private/ directory is no longer accessible by other users than the root user. If the file is a symbolic link, other users are not able to read the file and, for example, dynamic DNS updates fail if you use the BIND_DLZ DNS back end.
The pre-created Kerberos configuration uses DNS service (SRV) resource records to locate the KDC.
Testing your Samba AD DC
To start the samba service manually, enter:
# samba
Samba does not provide System V init scripts, systemd, upstart, or other services configuration files.
If you installed Samba using packages, use the script or service configuration file included in the package to start Samba.
If you built Samba, see Managing the Samba AD DC Service.
...
To list all shares provided by the DC:
$ smbclient -L localhost -U%
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
--------- -------
The netlogon and sysvol shares were auto-created during the provisioning and must exist on a DC.
To verify authentication, connect to the netlogon share using the domain administrator account:
$ 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
If one or more tests fail, see Troubleshooting.
...
To verify that your AD DNS configuration works correctly, query some DNS records:
The tcp-based _ldap SRV record in the domain:
$ host -t SRV _ldap._tcp.samdom.example.com.
_ldap._tcp.samdom.example.com has SRV record 0 100 389 dc1.samdom.example.com.
The udp-based _kerberos SRV resource record in the domain:
$ host -t SRV _kerberos._udp.samdom.example.com.
_kerberos._udp.samdom.example.com has SRV record 0 100 88 dc1.samdom.example.com.
The A record of the domain controller:
$ host -t A dc1.samdom.example.com.
dc1.samdom.example.com has address 10.99.0.1
If one or more tests fail, see Troubleshooting.
...
Request a Kerberos ticket for the domain administrator account:
$ kinit administrator
Password for administrator@SAMDOM.EXAMPLE.COM:
The Kerberos realm is automatically appended, if you do not pass the principal in the user@REALM format to the kinit command.
Set Kerberos realms always in uppercase.
List the cached Kerberos tickets:
$ 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
If one or more tests fail, see Troubleshooting.
Configuring Time Synchronisation
Kerberos requires a synchronised time on all domain members. For further details and how to set up the ntpd service, see Time Synchronisation.
Using the Domain Controller as a File Server
Whilst the Samba AD DC is able to provide file shares, just like all other installation modes, the Samba team does not recommend using a DC as a file server for the following reasons:
For anything but the smallest organisations, having more than one DC is a really good backup measure, and makes upgrades safer
It encourages upgrades of the DC to also be upgrades of the host OS every year or two, because there isn't complex data to transition or other services involved.
This means upgrades can be done by installing fresh, and replicating in the changes, which is better tested in Samba, gains new features and avoids a number of lingering data corruption risks.
The DC and file-server have different points at which an organisation would wish to upgrade. The needs for new features on the DC and file server come at different times. Currently the AD DC is evolving rapidly to gain features, whereas the fileserver, after over 20 years, is quite rightly more conservative.
mandatory smb signing is enforced on the DC.
...
|
Интерактивный режим настройки поддерживает различные параметры команды 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 |
---|
sudo samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ --realm=SAMDOM.EXAMPLE.COM --domain=SAMDOM --adminpass=Passw0rd |
Завершающие команды
После успешного выполнения команды Назначения:
Command |
---|
# Разрешить автоматический запуск службы контроллера домена: # Перед запуском доменной службы samba настраиваем службу DNS # Скопировать автоматически созданную конфигурацию службы Kerberos # Запустить доменную службу Samba |
Проверка результатов Назначения
Подробно команды для проверки результатов настройки контроллера домена описаны в статье Присоединение Samba к существующему домену AD. Разница только в том, что домена AD сейчас нет, сервер только один, соответственно, опрашивать нужно только один сервер, и в ответах будет только один сервер.
Создание реверсивных зон
С помощью команды samba-tool dns zonecreate можно добавить необязательную зону реверсивного поиска:
Command | ||
---|---|---|
| ||
Password for [administrator@SAMDOM.EXAMPLE.COM]: |
Если требуется использовать несколько реверсивных зон, просто выполните команду несколько раз с указанием параметров соответствующих подсетей.
Изменение реверсивных зон не требует перезапуска сервисов Samba или BIND.
Настройка участников домена
Настройка синхронизации времени
Предупреждение |
---|
Для нормальной рабботы службы Kerberos требуется синхронизация времени всех участников домена. Подробности см. в статье Службы синхронизации времени в Astra Linux. |
DNS
Участники домена AD используют DNS для поиска сервисов, например, таких, как LDAP и Kerberos. Для этого они должны использовать сервер DNS, способный разрешать зоны DNS AD.
Если в системе используется сервер DHCP, то в его настройках можно указать имя домена, которое будет передаваться всем хостам при запросе адреса Подробнее см. DHCP
Помимо использования DHCP, настройку на нужный сервер можно выполнить непосредственно на хостах - участниках домена в файле /etc/resolv.conf.
Для этого укажите в файле:
- имя домена DNS AD как имя домена для поиска (search),
- IP-адрес вашего DC как значение параметра nameserver.
Например:
Информация | ||
---|---|---|
| ||
search samdom.example.com |
Разрешение имён для клиентских машин
После выполнения указанных выше настроек DNS сервер не может получать и, соответственно, выдавать информацию об именах и IP-адресах клиентских машин.
Если в домене используются клиентские машины, получающие динамические IP-адреса от сервера DHCP, сервер DNS может быть настроен на автоматическое получение информации о выданных адресах. Примерный порядок настройки см. в статье Динамическое обновление DNS клиентских машин FreeIPA;
Если в домене используются клиентские машины, которым присваиваются статические адреса, то:
- Можно использовать для присвоения этих статических адресов сервер DHCP с динамическим обновлением адресов;
- Можно вручную задавать соответствие имени и адреса для каждого такого клиента. См. Администрирование DNS.
Kerberos
При работе в домене AD, Kerberos используется для аутентификации пользователей, хостов, и сервисов.
Процедуры установки и настройки клиентов Kerberos см. Kerberos
Во время процедуры назначения Samba автоматически создает конфигурационный файл /var/lib/samba/private/krb5.conf для клиентов Kerberos, настроенный на создаваемый DC.
Информация |
---|
Это файл должен быть скопирован в рабочую конфигурацию Kerberos на всех хостах, входящих в домен. |
В автоматически создаваемом файле конфигурации Kerberos для поиска доменного контроллера Kerberos (KDC) используются сервисные записи (SRV). Для того, чтобы такая конфигурация работала корректно, в домене должна быть правильно настроена и работать служба, в том числе созданы файлы зон, в которых размещены соответствующие сервисные записи (см. статью DNS-сервер BIND9).
Тестирование файлового сервера
Во время назначения автоматически создаются разделяемые ресурсы netlogon и sysvol, и они обязательно должны существовать в DC. Чтобы увидеть все разделяемые файловые ресурсы, предоставляемые DC:
Command |
---|
smbclient -L localhost -U% |
Раскрыть | ||
---|---|---|
| ||
Domain=[SAMDOM] OS=[Unix] Server=[Samba x.y.z] Sharename Type Comment Server Comment Workgroup Master |
Для проверки работы аутентификации, подключитесь к ресурсу netlogon с использованием учётной записи администратора домена:
Command | ||
---|---|---|
| ||
Enter Administrator's password: 49386 blocks of size 524288. 42093 blocks available |
Если тесты не выполняются, см. Поиск и устранение проблем
Инструменты командной строки
Для управления Samba AD DC в состав пакета Samba входит инструмент командной строки samba-tool.
Основные команды инструмента:
Команда | Описание |
---|---|
dbcheck | Проверка локальной базы данных AD на наличие ошибок |
delegation | Управление делегированием |
dns | Управление параметрами доменной службы DNS |
domain | Управление параметрами домена |
drs | Управление службой репликации каталогов (Directory Replication Services, DRS) |
dsacl | Управление списками контроля доступа DS |
fsmo | Управление ролями (Flexible Single Master Operations, FSMO) |
gpo | Управление групповыми политиками |
group | Управление группами |
ldapcmp | Сравнение двух баз данных ldap |
ntacl | Управление списками контроля доступа ACL |
processes | Вывод списвка процессов (для упрощения отладки без использования setproctitle). |
rodc | Управление контроллером домена (Read-Only Domain Controller, RODC) |
sites | Управление сайтами |
spn | Управление службой принципалов (Service Principal Name, SPN) |
testparm | Проверка конфигурационного файла на корректность синтаксиса |
time | Получение показаний текущего времени сервера |
user | Управление пользователями |
visualize | Графическое представление состояния сети Samba |
Подробная информация об инструменте доступна в справочнике man:
Command |
---|
man samba-tool |
Краткую справку по работе инструмента можно получить командой
Command |
---|
samba-tool -h |
Инструмент wbinfo
При установке пакета samba автоматически устанавливается служба winbindd.
Для работы с этой службой используется инструмент командной строки wbinfo,
позволяющий получать информацию о пользователях и группах AD.
Примеры команд:
Команда | Описание |
---|---|
wbinfo -u | Вывести список пользователей |
wbinfo -g | Вывести список групп |
wbinfo -i имя_пользователя | Вывести подробную информацию о пользователе |
wbinfo -? wbinfo --help | Вывести справку по командам |
Настройка хостов - участников домена для входа доменных пользователей
По умолчанию, пользователи домена AD не могут выполнять вход в Linux-системы.
Для обеспечения входа в Linux-системы с учетными записями Active Directory необходимо внести следующие изменения в настройки Samba AD DC в настройки пользовательских компьютеров.
Настройка Samba AD DC
В конфигурационном файле Samba /etc/samba/smb.conf необходимо добавить настройки службы winbind и разрешение авторизоваться через эту службу (добавленные строки выделены жирным шрифтом):
Информация |
---|
[global] template shell = /bin/bash winbind enum users = yes |
После внесения изменений проверить правильность конфигурации командой
Command |
---|
testparm |
И перезапустить службы samba.
Настройка пользовательских компьютеров
На пользовательском компьютере использовать команду:
Command |
---|
pam-auth-update |
И убедиться, что включены все профили PAM.
При необходимости - включить аутентификацию winbind, используя клавишу "пробел".
По окончании нажать клавишу "Tab", перейти на "ОК", и записать изменения.
В файле /etc/nsswitch.conf добавить слово winbind параметры password и group:
Информация |
---|
# /etc/nsswitch.conf passwd: compat winbind hosts: files dns protocols: db files netgroup: nis |
Чтобы пользователи AD после аутентификации могли менять свой пароль из командной строки
в файле /etc/pam.d/common-password из строки password [success=1 default=ignore] pam_winbind.so use_authtok try_first_passfile
убрать слово use_authtok statement:
Информация |
---|
password [success=1 default=ignore] pam_winbind.so |
Предупреждение: Использование контроллера домена как файлового сервера
Несмотря на то, что Samba в режиме AD DC может предоставлять услуги разделения файлов так же, как и в любом другом режиме применения, разработчики Samba не рекомендуют использовать DC как файловый север по следующим причинам:
- Для всех организаций, за исключением самых маленьких, наличие более, чем одного DC, является реально хорошим способом резервирования, повышающим безопасность обновлений;
- Отсутствие сложных данных и влияния на другие сервисы позволяет обновлять DC совместно с ОС хоста каждые год или два;
- Обновления могут выполняться путем установки новых версий, или внесения изменений, которые лучше проверены в Samba, что позволяет получить новые возможности, избежав множества рисков, связанных с повреждением данных;
- Необходимость модернизации DC и файлового сервера наступает в разные моменты. Потребность в новых возможностях DC и файлового сервера возникает в разные моменты времени. В то время, как AD DC стремительно развивается, приобретая новые возможности, файловый сервер, после более 20 лет, гораздо более консервативен;
- mandatory smb signing is enforced on the DC.
Если вы изучаете возможность использовать Samba DC как файловый сервер, рассмотрите вместо этого возможность использовать на DC виртуальную машину VM, содержащую отдельного участника домена.
Если вы вынуждены использовать Samba DC как файловый сервер, помните, что виртуальная файловая система (virtual file system, VFS) позволяет настраивать разделяемые ресурсы только со списками управления доступом access (control lists, ACL) Windows.
Разделяемые ресурсы с ACL POSIX на Samba DC не поддерживаются, и не работают.
Для предоставления сетевх разделяемых ресурсов с полными возможностями Samba, используйте отдельного участника домена Samba.
Подробности см.:
Если у вас маленький домен (маленький офис, домашняя сеть), нет желания следовать рекомендациям разработчиков Samba, и DC используется как файловый сервер, настройте Winbindd до начала настройки разделяемых ресурсов.
Подробности см.: Configuring Winbindd on a Samba AD DC.
Поиск и устранение проблем
Подробности см.: Поиск и устранение проблем в Samba AD DC
Материалы для дальнейшего изучения
If you must use the Samba DC as a fileserver, you should be aware that the auto-enabled acl_xattr virtual file system (VFS) object enables you to only configure shares with Windows access control lists (ACL). Running shares with POSIX ACLs on a Samba DC is not supported and will not work.
...
Setting up Samba as a Domain Member
Samba File Serving
...
Troubleshooting
For further details, see Samba AD DC Troubleshooting.
Further Samba-related Documentation
See User Documentation.
Categories:
Domain ControlActive Directory
Navigation menu
Page Discussion View source History
Create account Log in
Navigation
Main Page
User Documentation
Developer Documentation
Categories
Current Events
Recent Changes
Random Page
Report Samba Bug
Report Doc Bug
...