14.1 Установка сервера Samba DC

Samba может выступать в роли контроллера домена и сервиса Active Directory

1. Установка Samba AD

Выполните обновление РЕД ОС:

# yum clean all && yum update

Установите необходимые пакеты:

# yum install samba-client*.x86_64 samba-common.noarch samba-common*x86_64 samba-dc*.x86_64 samba-libs.x86_64 samba-winbind*.x86_64 -y

Проверьте Samba на наличие kerberos heimdal (при использовании MIT Kerberos возможна некорректная работа samba c kerberos) см. ссылку
https://wiki.samba.org/index.php/Running_a_Samba_AD_DC_with_MIT_Kerberos_KDC

В том случае, если следующая команда выдаёт «HAVE_LIBKADM5SRV_MIT», тогда нужно установить Samba с  поддержкой Kerberos Heimdal.

# smbd -b | grep HAVE_LIBKADM5SRV_MIT
HAVE_LIBKADM5SRV_MIT

Переименуйте используемые по умолчанию конфигурационные файлы samba и kerberos:

# mv /etc/krb5.conf /etc/krb5.conf.bak
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Команда проверки установленной версии samba:

# smbd -V

2. Предварительная настройка сервера Samba DC

2.1 Поменяйте статус SELinux на permissive, для этого в файле /etc/selinux/config приведите строку к виду «SELINUX=permissive» или выполните команду:

# setenforce 0 && sed -i "s/SELINUX=enforcing/SELINUX=permissive/" /etc/selinux/config

2.2 Присвойте серверу статический ip-адрес(Настройка сетевого адаптера), а также назначьте имя. Имя должно определять область домена. Например, если ваш домен skynet.murom, то hostname сервера может быть вида: dc1.skynet.murom.
Команда назначения имени серверу:

hostnamectl set-hostname dc1.skynet.murom

Укажите в файле /etc/hosts соответствие ip-адреса сервера с его полный и коротким именем:

# nano /etc/hosts
10.81.1.96 dc1.skynet.murom dc1

2.3 В настройках сетевого адаптера пропишите поисковый домен skynet.murom, а в качестве dns-адреса укажите ip-адрес создаваемого Samba AD сервера, в нашем примере это 10.81.1.96

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

# systemctl restart NetworkManager

Проверьте resolv.conf выполнив:

# cat /etc/resolv.conf
# Generated by NetworkManager
search skynet.murom
nameserver 10.81.1.96

3. Запуск конфигурирования Samba в роли контроллера домена в интерактивном режиме:

Описание некоторых настроек для тестового домена dc1.skynet.murom

  • use-rfc2307 — параметр добавляет POSIX атрибуты (UID / GID) на схеме AD. Он понадобится при аутентификации клиентов Linux, BSD, or OS X (в том числе на локальной машине) в дополнение к Microsoft Windows.

  • interactive — параметр заставляет сценарий резерва запускаться в интерактивном режиме.

  • realm — указывает на DNS-имя домена в верхнем регистре, которое настроено в hosts, в нашем тесте realm: skynet.murom

  • Domain — доменное имя сервера, у нас это — skynet

  • Server Rules(роли сервера): dc — (Domen controller)

  • DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) — указывает кто, будет в роли DNS сервера. SAMBA_INTERNAL — внутренний DNS самбы.

  • DNS forwarder IP address. Данный параметр позволяет указать IP-адрес DNS-сервера, на который будут перенаправлены dns запросы, в случае когда сервер Samba не сможет их разрешить.

Пример листинга настройки самбы в интерактивном режиме:

[root@dc1 samba]# samba-tool domain provision --use-rfc2307 --interactive
Realm [SKYNET.MUROM]:
Domain [SKYNET]:
Server Role (dc, member, standalone) [dc]: dc
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write 'none' to disable forwarding) [10.81.1.96]: 10.81.1.1
Administrator password:
Retype password:
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
Unable to determine the DomainSID, can not enforce uniqueness constraint on local domainSIDs
Adding DomainDN: DC=skynet,DC=murom
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=skynet,DC=murom
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
The Kerberos KDC configuration for Samba AD is located at /var/lib/samba/private/kdc.conf
A Kerberos configuration suitable for Samba AD has been generated at /var/lib/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:SKYNET
DNS Domain: skynet.murom
DOMAIN SID:S-1-5-21-4010603892-1310842104-1159347701

После запуска автоматического конфигурирования, Samba сама создаст файлы конфигурации.

4. Дополнительная конфигурация Samba сервера:

Настройки Samba находятся в файле /etc/samba/smb.conf
4.1 Начиная с версии 3.3.0, появился модуль acl_xattr, позволяющий «самбе» корректно обрабатывать Windows ACL (Access Control List). Для полноценной поддержки прав доступа к файлам используйте модуль acl_xattr.  Для этого добавьте в smb.conf в раздел [global] следующие параметры:

vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

4.2 Для обновления записей в DNS добавьте два параметра в раздел [global]:

allow dns updates = nonsecure
nsupdate command = /usr/bin/nsupdate -g

4.3 Если при автоконфигурировании не был указан dns форвардинг, то его можно включить, добавив в секцию [global]  dns адрес, который используется в вашей локальной сети

dns forwarder = 10.81.1.1

4.5 В секцию [global] добавьте поддержку расширения схемы AD

dsdb:schema update allowed = true

Листинг /etc/samba/smb.conf:

#cat /etc/samba/smb.conf
#Global parameters
[global]
log level = 3
dns forwarder = 10.81.1.1
netbios name = DC1
realm= SKYNET.MUROM
server role = active directory domain controller
workgroup= SKYNET
idmap_ldb:use rfc2307 = yes
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes
allow dns updates = nonsecure
nsupdate command = /usr/bin/nsupdate -g
dsdb:schema update allowed = true
[netlogon]
path = /var/lib/samba/sysvol/skynet.murom/scripts
read only = No 
[sysvol]
path = /var/lib/samba/sysvol
read only = No

4.6 После внесения изменений в файл /etc/samba/smb.conf выполните команду проверки:

# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[netlogon]"
Processing section "[sysvol]"
Loaded services file OK.
Server role: ROLE_ACTIVE_DIRECTORY_DC

Предупреждение "rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)" отображается в связи с тем, что в Linux по умолчанию установлен лимит на 1024 одновременно открытых файлов, а в Windows он 16384. Чтобы убрать предупреждение добавьте в конец файла /etc/security/limits.conf строки:

*               -       nofile          16384
root            -       nofile          16384

Для применения настроек перезагрузите сервер.

5. Настройка файла конфигурации kerberos:

Скопируйте настройки kerberos которые создались после настройки samba в /etc

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

добавляем в него время жизни тикета  nano /etc/krb5.conf:

ticket_lifetime = 24h
forwardable = yes

Листинг конфигурации krb5.conf:

[libdefaults]
default_realm = SKYNET.MUROM
dns_lookup_realm = false
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes 

6. Запуск службы samba и проверка работы winbind:

Запуск и добавление в автозапуск сервиса samba:

# systemctl enable samba --now

Проверка статуса:

# systemctl status samba

Не запускайте службу winbindd вручную на контроллере домена Samba Active Directory (AD). Служба запускается автоматически как подпроцесс процесса samba.

https://wiki.samba.org/index.php/Configuring_Winbindd_on_a_Samba_AD_DC

Проверяем dns:

# ping ya.ru

Проверяем запущенные процессы:

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

Проверьте, может ли служба Winbindd подключаться к контроллеру домена:

wbinfo --ping-dc
checking the NETLOGON for domain[SKYNET] dc connection to "DC1.SKYNET.MUROM" succeeded

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

wbinfo -u
wbinfo -g

Если вы нашли ошибку, выделите текст и нажмите Ctrl+Enter.

Print Friendly, PDF & Email