SambaAD — различия между версиями

Материал из Русский WINE
Перейти к: навигация, поиск
Строка 29: Строка 29:
 
'''Внимание! При указании домена, имеющего суффикс '''.local''', потребуется на сервере и подключаемых компьютерах под управлением Linux '''отключить''' службу ''avahi-daemon''.'''
 
'''Внимание! При указании домена, имеющего суффикс '''.local''', потребуется на сервере и подключаемых компьютерах под управлением Linux '''отключить''' службу ''avahi-daemon''.'''
  
==Восстановление Samba к начальному состоянию==
+
Очищаем конфигурацию:
Очищаем базы и конфигурацию Samba и Krb5 (если уже создавался домен):
+
  # rm -f /etc/samba/smb.conf
  rm -f /etc/samba/smb.conf
+
  # rm -rf /var/lib/samba
  rm -rf /var/lib/samba
+
  # rm -rf /var/cache/samba
  rm -rf /var/cache/samba
+
  # mkdir -p /var/lib/samba/sysvol
  mkdir -p /var/lib/samba/sysvol
+
Вводим имя компьютера и домена:
  rm /etc/krb5.conf
+
  # nano /etc/sysconfig/network
  
  '''Обязательно удаляйте /etc/samba/smb.conf перед созданием домена:''' <pre>rm -f /etc/samba/smb.conf</pre>
+
  hostname dc.petr.ru
 +
  domainname petr.ru
 +
Вводим команды:
 +
# hostname dc.petr.ru
 +
# domainname petr.ru
 +
Создаем домен:
 +
samba-tool domain provision
  
==Настройка==
+
Realm [PETR.RU]: //жмем Enter
Так как Samba в режиме контроллера домена (Doman Controller, DC) использует как свой LDAP, так и свой сервер Kerberos, несовместимый с MIT Kerberos, перед установкой
+
Domain [PETR]: //жмем Enter
остановите конфликтующие службы '''krb5kdc''', '''slapd''' и '''bind''':
+
Server Role (dc, member, standalone) [dc]: //жмем Enter
  for service in smb nmb krb5kdc slapd bind; do chkconfig $service off; service $service stop; done
+
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: //жмем Enter
 +
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: //тут надо выставить внешний DNS, если он не прописался по-умолчанию, чтобы домен мог разрешать внешние адреса. Например 8.8.8.8.
 +
Administrator password: //Вводим пароль администратора
 +
Retype password: //Повторяем пароль администратора
 +
Запускаем службу:
 +
  service samba enable
 +
service samba start
  
== Создание домена ==
+
Перезагружаем сервер.
Для создания домена введите команду:
+
# samba-tool domain provision --use-rfc2307 --interactive
+
  
У Samba свой собственный DNS-сервер. В '''DNS forwarder IP address''' нужно указать внешний DNS-сервер, чтобы DC мог разрешать внешние доменные имена.
+
Копируем файл настроек krb5:
 +
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
  
В примере показано создание домена ''git.ru''.
+
Правим файл:
 
+
  nano /etc/net/ifaces/eth0/resolv.conf
Запустите '''samba-tool domain provision --use-rfc2307 --interactive''':
+
<source lang="text"># samba-tool domain provision --use-rfc2307 --interactive
+
Realm [GIT.RU]:  
+
  Domain [GIT]:
+
Server Role (dc, member, standalone) [dc]:
+
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
+
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: 8.8.8.8
+
Administrator password:
+
Retype password:
+
</source>
+
При запросе ввода нажимайте Enter за исключением запроса пароля администратора («Administrator password:» и «Retype password:»).
+
{{Note|Пароль администратора должен быть не менее 7 символов и содержать символы как минимум трёх групп из четырёх возможных: латинских букв в верхнем и нижнем регистрах, чисел и других небуквенно-цифровых символов.}}
+
Параметры ''--use-rfc2307 --use-xattrs=yes'' позволяют поддерживать расширенные атрибуты типа UID и GID в схеме LDAP и ACL на файловой системе Linux.
+
 
+
===Создание домена одной командой===
+
Создание контроллера домена git.ru с паролем администратора Pa$$word:
+
 
+
samba-tool domain provision --realm=git.ru --domain git --adminpass='Pa$$word' --dns-backend=SAMBA_INTERNAL --server-role=dc --use-rfc2307
+
 
+
==Настройка DNS Resolver==
+
Члены домена в AD используют DNS для поиска служб, таких как LDAP и Kerberos. Для этого им необходимо использовать DNS-сервер, который может разрешить зону AD DNS.
+
 
+
На своем контроллере домена установите DNS-домен AD в '''search''' и IP своего контроллера домена в параметре '''nameserver''' файла /etc/resolv.conf. Например:
+
nameserver 172.16.0.2
+
search git.ru
+
{{Note|Вы можете настроить данный параметр используя NetworkManager, вручную через GUI введя сервер DNS и поисковый домен.}}
+
 
+
==Настройка Kerberos==
+
В AD Kerberos используется для аутентификации пользователей, машин и сервисов.
+
 
+
Его необходимо настроить:
+
#kdb5_util create -r GIT.RU -s
+
Утилита при создании запросит пароль от Kerberos (новый).
+
 
+
После настройки утилита создаст шаблон файла конфигурации в /usr/share/samba/setup/krb5.conf.
+
 
+
Скопируйте его в /etc/krb5.conf и приведите к следующему виду:
+
<pre>
+
[libdefaults]
+
dns_lookup_kdc = true
+
dns_lookup_realm = false
+
ticket_lifetime = 24h
+
renew_lifetime = 7d
+
forwardable = true
+
rdns = false
+
default_realm = GIT.RU
+
kdc_ports = 88
+
kdc_tcp_ports = 88
+
kadmind_port = 464
+
 
+
[realms]
+
GIT.RU = {
+
default_domain = 172.16.0.2
+
}
+
</pre>
+
 
+
= Запуск службы =
+
 
+
Установите службу по умолчанию и запустите её:
+
chkconfig samba on
+
service samba start
+
{{note|Если служба после установки никаким способом не запускается, перезагрузите сервер}}
+
  
= Проверка работоспособности =
+
В строчку nameserver добавляем адрес 127.0.0.1, первым по очередности.
  
1. Общая информация о домене:
+
Т.к. Samba использует свой DNS-сервер удаляем bind:
<source lang="text"># samba-tool domain info 127.0.0.1
+
  # apt-get remove bind
Forest          : git.ru
+
Domain          : git.ru
+
Netbios domain  : GIT
+
DC name          : ad.git.ru
+
DC netbios name : AD
+
Server site      : Default-First-Site-Name
+
Client site      : Default-First-Site-Name</source>
+
  
2. Просмотр предоставляемых служб:
+
Выполняем:
<source lang="text"># smbclient -L localhost -U administrator
+
service network restart
Enter administrator's password:
+
Domain=[GIT] OS=[Unix] Server=[Samba 4.0.21]
+
  
        Sharename      Type      Comment
+
Проверка работоспособности:
        ---------      ----      -------
+
        netlogon        Disk     
+
        sysvol          Disk     
+
        IPC$            IPC      IPC Service (Samba 4.0.21)
+
Domain=[GIT] OS=[Unix] Server=[Samba 4.0.21]
+
  
        Server              Comment
+
1)
        ---------            -------
+
# samba-tool domain info 127.0.0.1
 +
2)
 +
# smbclient -L localhost -U administrator
 +
3)
 +
host petr.ru
 +
(адрес должен иметь адрес 127.0.0.1)<br>
 +
4)Проверяем имена хостов:
  
        Workgroup            Master
+
адрес '''_kerberos._udp.'''*адрес домена с точкой
        ---------            -------
+
        GIT                  AD
+
        WORKGROUP            HOST-15</source>
+
  
3. Проверка конфигурации DNS
+
# host -t SRV _kerberos._udp.petr.ru.
 +
_kerberos._udp.petr.ru has SRV record 0 100 88 dc.petr.ru.
  
3.1 Убедитесь в наличии <tt>nameserver 127.0.0.1</tt> в '''/etc/resolv.conf''':
+
адрес '''_ldap._tcp.'''*адрес домена с точкой
host git.ru
+
3.2 Проверяем имена хостов:
+
*адрес '''_kerberos._udp.'''''<nowiki>*</nowiki>адрес домена с точкой''
+
<source lang="text"># host -t SRV _kerberos._udp.git.ru.
+
_kerberos._udp.git.ru has SRV record 0 100 88 ad.git.ru.
+
</source>
+
*адрес '''_ldap._tcp.'''''<nowiki>*</nowiki>адрес домена с точкой''
+
<source lang="text"># host -t SRV _ldap._tcp.git.ru.
+
_ldap._tcp.git.ru has SRV record 0 100 389 ad.git.ru.
+
</source>
+
*'''адрес хоста'''.''<nowiki>*</nowiki>адрес домена с точкой''
+
<source lang="text"># host -t A ad.git.ru.
+
ad.git.ru has address 172.16.0.2
+
</source>
+
  
Если имена не находятся, проверяйте выключение службы '''named'''.
+
# host -t SRV _ldap._tcp.petr.ru.
 +
_ldap._tcp.petr.ru has SRV record 0 100 389 dc.petr.ru.
  
4. Проверка Kerberos:
+
'''адрес хоста.'''*адрес домена с точкой
{{Note|Имя домена должно быть в '''верхнем регистре''', иначе выдаст: <source lang="text">kinit: KDC reply did not match expectations while getting initial credentials</source>}}
+
<source lang="text"># kinit administrator
+
Password for administrator@GIT.RU:
+
Warning: Your password will expire in 41 days on Вт 11 ноя 2014 08:58:30</source>
+
  
Просмотр полученного билета:
+
# host -t A dc.petr.ru.
<source lang="text"># klist
+
dc.petr.ru has address 10.0.2.5
Ticket cache: FILE:/tmp/krb5cc_0
+
Default principal: administrator@GIT.RU
+
  
Valid starting      Expires              Service principal
+
5)Проверяем Kerberos
30.09.2014 10:23:54 30.09.2014 20:23:54  krbtgt/GIT.RU@GIT.RU
+
  # kinit administrator
        renew until 01.10.2014 10:23:45</source>
+
Password for administrator@PETR.RU:
 +
Warning: Your password will expire in 41 days on Чт 29 апр 2021 18:25:49
  
{{Note|Для серверов, не внесённых в зону обратного просмотра DNS, авторизация через nslcd по GSSAPI будет вылетать с диагностикой: <source lang="text">Local error: SASL(-1): generic failure: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (Server not found in Kerberos database)</source>}}
+
6)Просмотр полученного билета:
Источники: [https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller wiki.samba.org][https://www.altlinux.org/SambaDC altlinux.org] [http://www.samba4.ru/?p=8 samba4.ru] [http://drach.pro/blog/linux/item/136-samba-under-centos drach.pro][https://forum.altlinux.org/index.php?topic=43943.0 forum.altlinux.ru]
+
  # klist
 +
Источники: [https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller wiki.samba.org][https://www.altlinux.org/SambaDC SambaDC - altlinux.org] [https://www.altlinux.org/index.php?title=SambaAD_start SambaAD start - altlinux.org] [http://www.samba4.ru/?p=8 samba4.ru] [http://drach.pro/blog/linux/item/136-samba-under-centos drach.pro][https://forum.altlinux.org/index.php?topic=43943.0 forum.altlinux.ru]
 
{{Samba}}
 
{{Samba}}

Версия 18:36, 3 апреля 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Контроллер домена

Установка

  • CentOS/Fedora
yum install samba4
  • Debian/Ubuntu
apt -y install samba krb5-config winbind smbclient 
  • ALT Linux
apt-get install task-samba-dc

Подготовка

  • Используйте статический IP-адрес на контроллере домена.
  • Убедитесь, что ни один из процессов Samba не запущен:
# ps ax | egrep "samba|smbd|nmbd|winbindd"

Если в вывод попали процессы samba, smbd, nmbd или winbindd, завершите их.

Выбор имени домена

  • Выберите имя хоста для своего AD DC
  • Выберите домен DNS для своего леса AD. Имя также будет использоваться как область AD Kerberos.
Примечание: Убедитесь, что вы присваиваете AD DNS-домен который не будете менять. Samba не поддерживает переименование зоны AD DNS и области Kerberos. Не используйте .local для TLD, данный суффикс используется Avahi.



Имя домена для разворачиваемого DC должно состоять минимум из двух компонентов, разделённых точкой.

При этом должно быть установлено правильное имя узла и домена для сервера:

  • HOSTNAME=dc.git.ru в /etc/sysconfig/network
  • # hostname dc.git.ru
  • # domainname git.ru

Внимание! При указании домена, имеющего суффикс .local, потребуется на сервере и подключаемых компьютерах под управлением Linux отключить службу avahi-daemon.

Очищаем конфигурацию:

# rm -f /etc/samba/smb.conf
# rm -rf /var/lib/samba
# rm -rf /var/cache/samba
# mkdir -p /var/lib/samba/sysvol

Вводим имя компьютера и домена:

# nano /etc/sysconfig/network
hostname dc.petr.ru
domainname petr.ru

Вводим команды:

# hostname dc.petr.ru
# domainname petr.ru

Создаем домен:

samba-tool domain provision
Realm [PETR.RU]: //жмем Enter
Domain [PETR]: //жмем Enter
Server Role (dc, member, standalone) [dc]: //жмем Enter
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: //жмем Enter
DNS forwarder IP address (write 'none' to disable forwarding) [127.0.0.1]: //тут надо выставить внешний DNS, если он не прописался по-умолчанию, чтобы домен мог разрешать внешние адреса. Например 8.8.8.8.
Administrator password: //Вводим пароль администратора
Retype password: //Повторяем пароль администратора

Запускаем службу:

service samba enable
service samba start

Перезагружаем сервер.

Копируем файл настроек krb5:

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

Правим файл:

nano /etc/net/ifaces/eth0/resolv.conf

В строчку nameserver добавляем адрес 127.0.0.1, первым по очередности.

Т.к. Samba использует свой DNS-сервер удаляем bind:

# apt-get remove bind

Выполняем:

service network restart

Проверка работоспособности:

1)

# samba-tool domain info 127.0.0.1

2)

# smbclient -L localhost -U administrator

3)

host petr.ru

(адрес должен иметь адрес 127.0.0.1)
4)Проверяем имена хостов:

адрес _kerberos._udp.*адрес домена с точкой

# host -t SRV _kerberos._udp.petr.ru.
_kerberos._udp.petr.ru has SRV record 0 100 88 dc.petr.ru.

адрес _ldap._tcp.*адрес домена с точкой

# host -t SRV _ldap._tcp.petr.ru.
_ldap._tcp.petr.ru has SRV record 0 100 389 dc.petr.ru.

адрес хоста.*адрес домена с точкой

# host -t A dc.petr.ru.
dc.petr.ru has address 10.0.2.5

5)Проверяем Kerberos

# kinit administrator

Password for administrator@PETR.RU: Warning: Your password will expire in 41 days on Чт 29 апр 2021 18:25:49

6)Просмотр полученного билета:

# klist

Источники: wiki.samba.orgSambaDC - altlinux.org SambaAD start - altlinux.org samba4.ru drach.proforum.altlinux.ru

Samba
Search.png
Файловое хранилище Samba как файловый серверПодключение общей папкиSamba как файловый сервер в домене
Служба каталогов
Сервер Samba как служба каталогов (AD)Изменение IP-адреса ADРепликация сервера ADРезервное копирование и восстановлениеУправление пользователямиГрупповые политикиГрупповая политика паролей
Клиент Подключение клиента ADУстранение неполадок участников домена Samba
Бэкэнды идентификаторов winbind idmap config tdbidmap config adidmap config rididmap config autorid
Прочее Samba как сервер печатиПроверка конфигурационного файлаУтилиты командной строкиLMHOSTSУровень логовКаталоги SambaНастройка DNS
Разное Настройка Samba для привязки к определенным интерфейсамТестирование динамических обновлений DNSSamba Перенастройка бэкенда BIND9 DLZКонфигурация DNS для Linux и Unix
Информация SSSD vs WinbindУстановка Samba