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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Настройка контроллера домена)
(fix typo)
 
(не показаны 24 промежуточные версии 3 участников)
Строка 12: Строка 12:
  
 
Все приведенные консольные команды выполняются от root, если не указано иное. Вход в root-коноль выполняется командой
 
Все приведенные консольные команды выполняются от root, если не указано иное. Вход в root-коноль выполняется командой
  su -
+
su -
 
или
 
или
  sudo -i
+
sudo -i
 +
 
 +
В качестве образа ОС для развертывания контроллера домена Samba AD можно взять:
 +
* для виртуальных машин и железа: мини-сервер rosa2021.1 (https://abf.io/platforms/rosa2021.1/products/279)
 +
* для контейнеров (systemd-nspawn, lxc и др.): rootfs rosa2021.1 (https://abf.io/platforms/rosa2021.1/products/284)
 +
По адресу https://abf.io/platforms/rosa2021.1/products имеются иные сборки, в т.ч. для ARMv8 (aarch64).
  
 
== Настройка контроллера домена ==
 
== Настройка контроллера домена ==
Строка 20: Строка 25:
 
=== Настройка сети ===
 
=== Настройка сети ===
  
Важно правильно настроить сеть на клиенте и сервере. Рассмотрим настройку сети на сервере.
+
Важно правильно настроить сеть на клиенте и сервере. В простых случаях, в т.ч. при поднятии тестовых стендов, делайте так, чтобы клиент и сервер находились в одной подсети. Например, чтобы у виртуальной машины с сервером был IP-адрес 192.168.10.2, а у виртуальной машины с клиентом — 192.168.10.3.
 +
 
 +
Рассмотрим настройку сети на сервере.
  
 
Установите полноквалифицированное (FQDN) доменное имя, состоящее из: имя_хоста.домен.зона, например:
 
Установите полноквалифицированное (FQDN) доменное имя, состоящее из: имя_хоста.домен.зона, например:
  server1.samba.loc
+
server1.samba.loc
 
Тогда именем хоста будет server1, доменом — samba, доменной зоной — loc, realm — samba.loc.
 
Тогда именем хоста будет server1, доменом — samba, доменной зоной — loc, realm — samba.loc.
  
Строка 29: Строка 36:
  
 
Установим имя хоста на контроллере домена:
 
Установим имя хоста на контроллере домена:
  hostnamectl set-hostname server1.samba.loc
+
hostnamectl set-hostname server1.samba.loc
  
 
Посмотрите IP-адрес командой
 
Посмотрите IP-адрес командой
  /sbin/ip a
+
ip a
  
 
Пример вывода:
 
Пример вывода:
Строка 55: Строка 62:
  
 
В файл /etc/hosts необходимо добавить строку вида:
 
В файл /etc/hosts необходимо добавить строку вида:
  192.168.122.12 server1.samba.loc server1
+
192.168.122.12 server1.samba.loc server1
 
Как видите, необходимо, чтобы и FQDN, и краткое имя резолвились в IP-адрес контроллера домена.
 
Как видите, необходимо, чтобы и FQDN, и краткое имя резолвились в IP-адрес контроллера домена.
 
Для этого откройте файл к консольном редакторе:
 
Для этого откройте файл к консольном редакторе:
Строка 62: Строка 69:
  
 
Командами
 
Командами
  ping -c3 server1.samba.loc
+
ping -c3 server1.samba.loc
  ping -c3 server1
+
ping -c3 server1
 
проверьте корректность записей в /etc/hosts.
 
проверьте корректность записей в /etc/hosts.
  
Строка 70: Строка 77:
 
=== Запуск контроллера домена ===
 
=== Запуск контроллера домена ===
  
Установите необходимые для работы пакеты. На ROSA 2019.1 (>= R12) и rosa2019.05:
+
Установите необходимые для работы пакеты:
  dnf install samba-server /bin/ps /usr/bin/xargs /usr/bin/nslookup
+
dnf install samba-server /usr/bin/xargs /usr/bin/nslookup
На ROSA 2016.1 (R11):
+
 
  urpmi samba-server procps-ng findutils bind-utils
+
Если вы планируете использовать BIND в качестве DNS сервера, установите его:
 +
dnf install bind
 +
 
 +
По умолчанию BIND настроен на прослушивание только на интерфейсе loopback (127.0.0.1)
 +
 
 +
Для настройки прослушивания на всех интерфейсах выполните следующую команду:
 +
sed -i '/listen-on\|allow-query/ s|{.\+}|{ any; }|' /etc/named.conf
 +
 
 +
Также для BIND требуется включить использование модуля DLZ:
 +
echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/named.conf
  
 
Отключите лишние службы из состава набора программ samba:
 
Отключите лишние службы из состава набора программ samba:
  systemctl disable --now smb nmb winbind
+
systemctl mask --now smb nmb winbind
 
Их обособленная работа не требуется и будет мешать контроллеру домена.
 
Их обособленная работа не требуется и будет мешать контроллеру домена.
  
 
Убедитесь, что они действительно выключены, команда
 
Убедитесь, что они действительно выключены, команда
  ps ax | grep -E "samba|smbd|nmbd|winbindd" | grep -v grep
+
ps ax | grep -E "samba|smbd|nmbd|winbind" | grep -v grep
 
должна ничего не выдать.
 
должна ничего не выдать.
  
 
Сотрите старые файлы настроек, оставив их резервные копии:
 
Сотрите старые файлы настроек, оставив их резервные копии:
  mv -v /etc/samba/smb.conf /etc/samba/smb.conf.old
+
mv -v /etc/samba/smb.conf /etc/samba/smb.conf.old
  mv -v /etc/krb5.conf /etc/krb5.conf.old
+
mv -v /etc/krb5.conf /etc/krb5.conf.old
  
 
Очистите старые базы данных, путь к которым можно узнать командой
 
Очистите старые базы данных, путь к которым можно узнать командой
  smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"
+
smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"
 
Команда для очистки:
 
Команда для очистки:
  smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" | awk '{print $NF}' | xargs -I'{}' rm -fv '{}'/*.{tdb,ldb}
+
smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" | awk '{print $NF}' | xargs -I'{}' rm -fv '{}'/*.{tdb,ldb}
 
Если эта команда ничего не выдала, то это нормально: у вас не было баз данных от прошлых запусков контроллера домена.
 
Если эта команда ничего не выдала, то это нормально: у вас не было баз данных от прошлых запусков контроллера домена.
 +
 +
По умолчанию systemd-resolved занимает порт 53, чем будет мешать DNS-серверу контроллера домена. Отключим это:
 +
<pre>
 +
mkdir -p /etc/systemd/resolved.conf.d
 +
echo -e '[Resolve]\nDNSStubListener=no' > /etc/systemd/resolved.conf.d/no53port.conf
 +
systemctl try-restart systemd-resolved
 +
</pre>
  
 
Запустите интерактивную настройку домена:
 
Запустите интерактивную настройку домена:
  samba-tool domain provision --use-rfc2307 --interactive
+
samba-tool domain provision --use-rfc2307 --interactive
  
Ниже приведем ее типовой вывод. В квадратных вкобках ([]) указывается значение по умолчанию, нажимайте Enter, чтобы с ним согласиться, или введите иное значение. Если сеть и имя хоста были настроены верны, то значения по умолчанию не должно потребоваться изменить.
+
Ниже приведем ее типовой вывод. В квадратных скобках ([]) указывается значение по умолчанию, нажимайте Enter, чтобы с ним согласиться, или введите иное значение. Если сеть и имя хоста были настроены верно, то значения по умолчанию не должно потребоваться изменить.
 +
 
 +
Для использования BIND в качестве DNS сервера выбирайте BIND9_DLZ. BIND9_FLATFILE не поддерживается и будет удален в будущих версиях samba.
  
 
<pre>
 
<pre>
Строка 109: Строка 134:
 
</pre>
 
</pre>
 
На последнем шаге вводится пароль доменного пользователя Administrator, при вводе пароль не отображается, пароль должен быть сложным.   
 
На последнем шаге вводится пароль доменного пользователя Administrator, при вводе пароль не отображается, пароль должен быть сложным.   
DNS Forwarder — это адрес сервера, к которому перенаправляются DNS-запросу, на которые сам контроллер домена не может ответить, например, запрос DNS yandex.ru будет направлен в него. Убедитесь, что этот сервер способен выдать DNS требуемого домена:
+
DNS Forwarder — это адрес сервера, к которому перенаправляются DNS-запросу, на которые сам контроллер домена не может ответить, например, запрос DNS yandex.ru будет направлен в него.
  nslookup yandex.ru 192.168.122.1
+
Возможно, стоит указать 8.8.8.8 или иной сервер. После первоначальной настройки его можно заменить в файле
+
  /etc/samba/smb.conf
+
  
 
Сделайте
 
Сделайте
  mv -v /var/lib/samba/private/krb5.conf /etc/krb5.conf
+
mv -v /var/lib/samba/private/krb5.conf /etc/krb5.conf
 +
 
 +
Если вы выбрали DNS сервер BIND, добавьте службу named в автозагрузку и запустите ее:
 +
systemctl enable --now named
 +
Проверьте всё ли в порядке:
 +
systemctl status named
  
 
Теперь добавьте службу контроллера домена в автозапуск:
 
Теперь добавьте службу контроллера домена в автозапуск:
  systemctl enable samba
+
systemctl enable samba
 
Запустите контроллер домена:
 
Запустите контроллер домена:
  systemctl restart samba
+
systemctl restart samba
 
И посмотрите его лог, убедитесь, что он запустился без ошибок:
 
И посмотрите его лог, убедитесь, что он запустился без ошибок:
  systemctl status samba
+
systemctl status samba
 +
 
 +
Статус службы должен быть "active" ("запущена"), но в конце лога может быть "ошибка":
 +
dnsupdate_nameupdate_done: Failed DNS update with exit code 29
 +
 
 +
Это нормально. Убедимся в этом, запустив:
 +
samba_dnsupdate --verbose
 +
В подробном логе будет сказано про ошибки "WERR_DNS_ERROR_RECORD_ALREADY_EXISTS", которые означают, что добавляемая запись DNS уже существует. Она была создана при создании домена. Запись "Failed update of 29 entries" означает, что такая ситуация возникла 29 раз, а это количество раз и стало кодом возврата samba_dnsupdate.
 +
 
 +
Проверьте работу DNS-сервера, на другом компьютере, например, будущем клиенте домена, выполнив:
 +
nslookup server1.samba.loc 192.168.122.12
 +
(подставьте свои адреса). Пример успешного ответа:
 +
<pre>
 +
$ nslookup server1.samba.loc 192.168.122.12
 +
Server:        192.168.122.12
 +
Address:        192.168.122.12#53
 +
 
 +
Name:  server1.samba.loc
 +
Address: 192.168.122.12
 +
</pre>
  
 
Для настройки клиентов будет полезно знать рабочую группу NT, ее можно узнать так:
 
Для настройки клиентов будет полезно знать рабочую группу NT, ее можно узнать так:
Строка 129: Строка 175:
 
workgroup = SAMBA
 
workgroup = SAMBA
 
</pre>
 
</pre>
 +
 +
Убедитесь, что этот сервер способен выдать DNS требуемого домена, выполнив на будущем '''клиенте''' домена (не на контроллере):
 +
nslookup yandex.ru 192.168.122.1
 +
Возможно, стоит указать 8.8.8.8 или иной сервер. После первоначальной настройки контроллера его можно заменить в файле
 +
/etc/samba/smb.conf
 +
перезапустив контроллер после изменения настроек командой
 +
systemctl restart samba
 +
 +
=== Добавление доменного пользователя ===
 +
 +
Пример создания учетной записи на контроллере домена:
 +
samba-tool user create IvanonVP
  
 
== Ввод ROSA-клиента в домен ==
 
== Ввод ROSA-клиента в домен ==
Строка 140: Строка 198:
 
[[File:Ipa-client1.png]]
 
[[File:Ipa-client1.png]]
  
В rosa2019.05, rosa2019.1 и новее имеется интерактивный консольный интерфейс nmtui для редактирования настроек NetworkManager. Также имеется утилита nmcli.
+
В rosa2019.05, rosa2021.1 и новее имеется интерактивный консольный интерфейс nmtui для редактирования настроек NetworkManager. Также имеется утилита nmcli.
  
 
Утилиты NetworkManager редактируют файл /etc/resolv.conf. Если у вас не используется NetworkManager, то можно отредактировать этот файл напрямую, написав в нем:
 
Утилиты NetworkManager редактируют файл /etc/resolv.conf. Если у вас не используется NetworkManager, то можно отредактировать этот файл напрямую, написав в нем:
Строка 149: Строка 207:
  
 
Командой
 
Командой
  ping server1
+
ping server1
 
проверьте сетевую доступность контроллера домена.
 
проверьте сетевую доступность контроллера домена.
  
=== Подключение компьютера с ОС ROSA к домену ===
+
=== Подключение компьютера с ОС ROSA к домену через SSSD ===
  
Установите необходимые пакеты. Для rosa2019.x:
+
Установите необходимые пакеты:
  dnf install drakxtools samba-server samba-client samba-winbind nss_ldap libnss-role pam_krb5 lib64sasl2-plug-gssapi urpmi perl-URPM
+
sudo dnf install task-realmd-ad-sssd
Для rosa2016.1:
+
 
  urpmi drakxtools samba-server samba-client samba-winbind nss_ldap libnss-role pam_krb5 lib64sasl2-plug-gssapi
+
Введите в домен:
 +
sudo realm join -U Administrator
 +
 
 +
=== Подключение компьютера с ОС ROSA к домену через Winbind ===
 +
 
 +
'''Рекомендуется использовать способ ввода через SSSD, а не через Winbind.
 +
'''
 +
Установите необходимые пакеты:
 +
sudo dnf install drakxtools samba-server samba-client samba-winbind nss_ldap libnss-role pam_krb5 lib64sasl2-plug-gssapi urpmi perl-URPM
  
 
Запустите утилиту drakauth:
 
Запустите утилиту drakauth:
  drakauth
+
drakauth
 
Если установлена переменная окружения $DISPLAY, запустится графическая утилита, иначе псевдографическая.
 
Если установлена переменная окружения $DISPLAY, запустится графическая утилита, иначе псевдографическая.
  
 
Выберите способ аутентификации «Домен Windows»<br>
 
Выберите способ аутентификации «Домен Windows»<br>
[[File:DeepinScreenshot_выберите-область_20201009145252.png]]
+
[[File:Smb-ad1.png]]
  
 
Выберите тип домена Active Directory<br>
 
Выберите тип домена Active Directory<br>
[[File:DeepinScreenshot_выберите-область_20201009145300.png]]
+
[[File:Smb-ad2.png]]
  
 
В предлагаемой лабораторной установке и большинстве типовых конфигураций все необходимые параметры должны оказаться автоматически заполнены правильно на следующем шаге. Проверьте значения.<br>
 
В предлагаемой лабораторной установке и большинстве типовых конфигураций все необходимые параметры должны оказаться автоматически заполнены правильно на следующем шаге. Проверьте значения.<br>
[[File:DeepinScreenshot_выберите-область_20201009145613.png]]
+
[[File:Smb-ad3.png]]
  
 
Укажите желаемое имя Netbios. Поле "Описание компьютера" заполнять не обязательно.<br>
 
Укажите желаемое имя Netbios. Поле "Описание компьютера" заполнять не обязательно.<br>
[[File:DeepinScreenshot_выберите-область_20201009145326.png]]
+
[[File:Smb-ad4.png]]
 +
 
 +
Введите логина администратора домена и пароль.
 +
 
 +
[[Файл:Smb-ad5.png]]
  
 
Нажмите "Далее". В случае успешного ввода в домен будет предложено перезагрузить систему.
 
Нажмите "Далее". В случае успешного ввода в домен будет предложено перезагрузить систему.
 +
 +
[[Категория:ROSA Server]]

Текущая версия на 12:02, 22 октября 2024

Введение и терминология

В этой статье описано создание домена — централизированного хранилища пользователей и их аттрибутов.

Контроллер домена — программное оебспечение, обеспечивающее создание и функционирование сервера домена. В данном случае в качестве контроллера домена используется samba.

AD — Active Directory — домен разработки Microsoft. Samba реализует Samba AD — совместимый с Microsoft Active Directory домен, в который можно вводить и Linux, и Windows-клиенты.

Клиент — конечный член домена или ПО, позволяющее обспечить членство в домене.

В статье описывается создание лабораторной установки, состоящей из 1 сервера и 1 клиента, находящихся в одной подсети 192.168.122.0/24.

Все приведенные консольные команды выполняются от root, если не указано иное. Вход в root-коноль выполняется командой

su -

или

sudo -i

В качестве образа ОС для развертывания контроллера домена Samba AD можно взять:

По адресу https://abf.io/platforms/rosa2021.1/products имеются иные сборки, в т.ч. для ARMv8 (aarch64).

Настройка контроллера домена

Настройка сети

Важно правильно настроить сеть на клиенте и сервере. В простых случаях, в т.ч. при поднятии тестовых стендов, делайте так, чтобы клиент и сервер находились в одной подсети. Например, чтобы у виртуальной машины с сервером был IP-адрес 192.168.10.2, а у виртуальной машины с клиентом — 192.168.10.3.

Рассмотрим настройку сети на сервере.

Установите полноквалифицированное (FQDN) доменное имя, состоящее из: имя_хоста.домен.зона, например:

server1.samba.loc

Тогда именем хоста будет server1, доменом — samba, доменной зоной — loc, realm — samba.loc.

Избегайте использования зоны .local или выключите или перенастройте Avahi, чтобы использовать ее.

Установим имя хоста на контроллере домена:

hostnamectl set-hostname server1.samba.loc

Посмотрите IP-адрес командой

ip a

Пример вывода:

[root@server1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: host0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 32:e2:0b:ba:17:c5 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.212.10/16 brd 169.254.255.255 scope link host0
       valid_lft forever preferred_lft forever
    inet 192.168.122.12/24 brd 192.168.122.255 scope global dynamic host0
       valid_lft 2577sec preferred_lft 2577sec
    inet6 fe80::30e2:bff:feba:17c5/64 scope link 
       valid_lft forever preferred_lft forever

В данном примере IPv4-адрес — 192.168.122.12.

В файл /etc/hosts необходимо добавить строку вида:

192.168.122.12 server1.samba.loc server1

Как видите, необходимо, чтобы и FQDN, и краткое имя резолвились в IP-адрес контроллера домена. Для этого откройте файл к консольном редакторе:

 nano /etc/hosts

добавьте указанную строку, сохраните сочетанием клавиш Ctrl+O, Enter, затем закройте консольный редактор сочетанием клавиш Ctrl+X.

Командами

ping -c3 server1.samba.loc
ping -c3 server1

проверьте корректность записей в /etc/hosts.

Обратите внимание, что сеть должна запускаться до входа пользователя в систему, если используется WiFi, то настройте его соответствующим образом.

Запуск контроллера домена

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

dnf install samba-server /usr/bin/xargs /usr/bin/nslookup

Если вы планируете использовать BIND в качестве DNS сервера, установите его:

dnf install bind

По умолчанию BIND настроен на прослушивание только на интерфейсе loopback (127.0.0.1)

Для настройки прослушивания на всех интерфейсах выполните следующую команду:

sed -i '/listen-on\|allow-query/ s|{.\+}|{ any; }|' /etc/named.conf

Также для BIND требуется включить использование модуля DLZ:

echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/named.conf

Отключите лишние службы из состава набора программ samba:

systemctl mask --now smb nmb winbind

Их обособленная работа не требуется и будет мешать контроллеру домена.

Убедитесь, что они действительно выключены, команда

ps ax | grep -E "samba|smbd|nmbd|winbind" | grep -v grep

должна ничего не выдать.

Сотрите старые файлы настроек, оставив их резервные копии:

mv -v /etc/samba/smb.conf /etc/samba/smb.conf.old
mv -v /etc/krb5.conf /etc/krb5.conf.old

Очистите старые базы данных, путь к которым можно узнать командой

smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"

Команда для очистки:

smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" | awk '{print $NF}' | xargs -I'{}' rm -fv '{}'/*.{tdb,ldb}

Если эта команда ничего не выдала, то это нормально: у вас не было баз данных от прошлых запусков контроллера домена.

По умолчанию systemd-resolved занимает порт 53, чем будет мешать DNS-серверу контроллера домена. Отключим это:

mkdir -p /etc/systemd/resolved.conf.d
echo -e '[Resolve]\nDNSStubListener=no' > /etc/systemd/resolved.conf.d/no53port.conf
systemctl try-restart systemd-resolved

Запустите интерактивную настройку домена:

samba-tool domain provision --use-rfc2307 --interactive

Ниже приведем ее типовой вывод. В квадратных скобках ([]) указывается значение по умолчанию, нажимайте Enter, чтобы с ним согласиться, или введите иное значение. Если сеть и имя хоста были настроены верно, то значения по умолчанию не должно потребоваться изменить.

Для использования BIND в качестве DNS сервера выбирайте BIND9_DLZ. BIND9_FLATFILE не поддерживается и будет удален в будущих версиях samba.

[root@server1 ~]# samba-tool domain provision --use-rfc2307 --interactive
Realm [SAMBA.LOC]:  
Domain [SAMBA]:  
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) [192.168.122.1]:  
Administrator password: 
Retype password:

На последнем шаге вводится пароль доменного пользователя Administrator, при вводе пароль не отображается, пароль должен быть сложным. DNS Forwarder — это адрес сервера, к которому перенаправляются DNS-запросу, на которые сам контроллер домена не может ответить, например, запрос DNS yandex.ru будет направлен в него.

Сделайте

mv -v /var/lib/samba/private/krb5.conf /etc/krb5.conf

Если вы выбрали DNS сервер BIND, добавьте службу named в автозагрузку и запустите ее:

systemctl enable --now named

Проверьте всё ли в порядке:

systemctl status named 

Теперь добавьте службу контроллера домена в автозапуск:

systemctl enable samba

Запустите контроллер домена:

systemctl restart samba

И посмотрите его лог, убедитесь, что он запустился без ошибок:

systemctl status samba

Статус службы должен быть "active" ("запущена"), но в конце лога может быть "ошибка":

dnsupdate_nameupdate_done: Failed DNS update with exit code 29

Это нормально. Убедимся в этом, запустив:

samba_dnsupdate --verbose

В подробном логе будет сказано про ошибки "WERR_DNS_ERROR_RECORD_ALREADY_EXISTS", которые означают, что добавляемая запись DNS уже существует. Она была создана при создании домена. Запись "Failed update of 29 entries" означает, что такая ситуация возникла 29 раз, а это количество раз и стало кодом возврата samba_dnsupdate.

Проверьте работу DNS-сервера, на другом компьютере, например, будущем клиенте домена, выполнив:

nslookup server1.samba.loc 192.168.122.12

(подставьте свои адреса). Пример успешного ответа:

$ nslookup server1.samba.loc 192.168.122.12
Server:         192.168.122.12
Address:        192.168.122.12#53

Name:   server1.samba.loc
Address: 192.168.122.12

Для настройки клиентов будет полезно знать рабочую группу NT, ее можно узнать так:

[root@server1 ~]# cat /etc/samba/smb.conf | grep workgroup
	workgroup = SAMBA

Убедитесь, что этот сервер способен выдать DNS требуемого домена, выполнив на будущем клиенте домена (не на контроллере):

nslookup yandex.ru 192.168.122.1

Возможно, стоит указать 8.8.8.8 или иной сервер. После первоначальной настройки контроллера его можно заменить в файле

/etc/samba/smb.conf

перезапустив контроллер после изменения настроек командой

systemctl restart samba

Добавление доменного пользователя

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

samba-tool user create IvanonVP

Ввод ROSA-клиента в домен

Настройка сети на Linux-клиенте

На клиенте необходимо:

  • добавить адрес контроллера домена в DNS-серверы
  • добавить REALM (samba.loc в примере выше) в список доменов поиска

Для настройки через GUI NetworkManager откройте настройки сетевого соединения, вкладку "IPv4". К DNS-серверам добавьте адрес контролера домена, в примере выше это 192.168.122.12. В "Домены поиска" добавьте realm — samba.loc. Ниже приведен скриншот с образцом заполнения настроек.
Ipa-client1.png

В rosa2019.05, rosa2021.1 и новее имеется интерактивный консольный интерфейс nmtui для редактирования настроек NetworkManager. Также имеется утилита nmcli.

Утилиты NetworkManager редактируют файл /etc/resolv.conf. Если у вас не используется NetworkManager, то можно отредактировать этот файл напрямую, написав в нем:

nameserver 192.168.122.12
search samba.loc

Командой

ping server1

проверьте сетевую доступность контроллера домена.

Подключение компьютера с ОС ROSA к домену через SSSD

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

sudo dnf install task-realmd-ad-sssd

Введите в домен:

sudo realm join -U Administrator

Подключение компьютера с ОС ROSA к домену через Winbind

Рекомендуется использовать способ ввода через SSSD, а не через Winbind. Установите необходимые пакеты:

sudo dnf install drakxtools samba-server samba-client samba-winbind nss_ldap libnss-role pam_krb5 lib64sasl2-plug-gssapi urpmi perl-URPM

Запустите утилиту drakauth:

drakauth

Если установлена переменная окружения $DISPLAY, запустится графическая утилита, иначе псевдографическая.

Выберите способ аутентификации «Домен Windows»
Smb-ad1.png

Выберите тип домена Active Directory
Smb-ad2.png

В предлагаемой лабораторной установке и большинстве типовых конфигураций все необходимые параметры должны оказаться автоматически заполнены правильно на следующем шаге. Проверьте значения.
Smb-ad3.png

Укажите желаемое имя Netbios. Поле "Описание компьютера" заполнять не обязательно.
Smb-ad4.png

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

Smb-ad5.png

Нажмите "Далее". В случае успешного ввода в домен будет предложено перезагрузить систему.