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

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

На создаваемом сервере задайте хостнейм. Он должен определять область домена. Например, если ваш домен smb.test, то хостнейм сервера может быть: dc1.SKYNET.MUROM

hostnamectl set-hostname dc1.SKYNET.MUROM dc1

Пропишите настройки в файл /etc/hosts. Укажите внешний ip samba сервера и его хостнейм.

# nano /etc/hosts

10.81.1.96 dc1.SKYNET.MUROM

Отключите SELinux или настройте его для работы с Samba AD. Измените значение параметра selinux на disabled.

# nano /etc/selinux/config

selinux=disabled

Что бы изменения вступили в силу выполните

# setenforce 0

Пропишите настройки DNS в сетевом адаптере, укажите в качестве DNS внешний ip адрес создаваемого Samba AD сервера. Обратите внимание, что он должен быть всегда первым.

DOMAIN="smb.test"
DNS1=192.168.0.6

Перезагрузите сеть.

# systemctl restart network

Выполните команды

# yum clean all
# yum update

Установка Samba AD

# 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 haimdal
https://wiki.samba.org/index.php/Running_a_Samba_AD_DC_with_MIT_Kerberos_KDC
# smbd -b | grep HAVE_LIBKADM5SRV_MIT
HAVE_LIBKADM5SRV_MIT

При использовании MIT Kerberos возможна некорректная работа samba c kerberos.
Удалите или переименуйте дефолтные конфигурационные файлы samba и kerberos:

# rm -rf /etc/krb5.conf
# rm -rf /etc/samba/smb.conf

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

# smbd -V

Запуск конфигурирования 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.96
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 сама создаст конфигурации

Описание некоторых настроек для тестового домена 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-сервера, на который будут перенаправлены запросы, которые не может разрешить сервер Samba, например: 10.81.1.96

Конфигурация samba сервера:

Начиная с версии 3.3.0 появился модуль acl_xattr, позволяющий самбе корректно обрабатывать Windows ACL (Access Control List). Для полноценной поддержки прав доступа к файлам используйте модуль acl_xattr. Для этого добавьте в конфигурацию:

nano /etc/samba/smb.conf 
vfs objects = acl_xattr 
map acl inherit = yes 
store dos attributes = yes

Для обновления записей в DNS в samba добавляются еще два параметра:

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

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

#cat /etc/samba/smb.conf
#Global parameters
[global]
log level = 3
dns forwarder = 8.8.8.8
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

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

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

# cp /var/lib/samba/private/krb5.conf /etc/
добавляем в него время жизни тикета:
ticket_lifetime = 24h
forwardable = yes

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

# nano /etc/krb5.conf
[libdefaults]
default_realm = SKYNET.MUROM
dns_lookup_realm = false
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes 

Настройка DNS сетевой карты и hosts:

Укажите в качестве DNS сервера в сетевых настройках самого себя

Проверьте resolv.conf

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

Укажите в качестве DNS сервера в сетевых настройках самого себя

Информацию по настройке сетевого адаптера вы можете прочитать на странице Настройка сетевого адаптера

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

# systemctl start samba
# systemctl enable samba

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

# 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"
# wbinfo --ping-dc
checking the NETLOGON for domain[SKYNET] dc connection to "DC1.SKYNET.MUROM" succeeded
#testparm

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

Print Friendly, PDF & Email