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

Материал из Rosalab Wiki
Перейти к: навигация, поиск
(Настройка контроллера домена)
Строка 109: Строка 109:
 
</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
+
  
 
Сделайте
 
Сделайте
Строка 123: Строка 120:
 
И посмотрите его лог, убедитесь, что он запустился без ошибок:
 
И посмотрите его лог, убедитесь, что он запустился без ошибок:
 
   systemctl status samba
 
   systemctl status samba
 +
 +
Убедитесь, что этот сервер способен выдать DNS требуемого домена, выполнив на будущем '''клиенте''' домена (не на контроллере):
 +
  nslookup yandex.ru 192.168.122.1
 +
Возможно, стоит указать 8.8.8.8 или иной сервер. После первоначальной настройки контроллера его можно заменить в файле
 +
  /etc/samba/smb.conf
 +
перезапустив контроллер после изменения настроек командой
 +
  systemctl restart samba
  
 
Для настройки клиентов будет полезно знать рабочую группу NT, ее можно узнать так:
 
Для настройки клиентов будет полезно знать рабочую группу NT, ее можно узнать так:

Версия 17:35, 16 октября 2020

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

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

Контроллер домена — программное оебспечение, обеспечивающее создание и функционирование сервера домена. В данном случае в качестве контроллера домена используется 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

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

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

Важно правильно настроить сеть на клиенте и сервере. Рассмотрим настройку сети на сервере.

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

 server1.samba.loc

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

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

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

 hostnamectl set-hostname server1.samba.loc

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

 /sbin/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, то настройте его соответствующим образом.

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

Установите необходимые для работы пакеты. На ROSA 2019.1 (>= R12) и rosa2019.05:

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

На ROSA 2016.1 (R11):

 urpmi samba-server procps-ng findutils bind-utils

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

 systemctl disable --now smb nmb winbind

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

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

 ps ax | grep -E "samba|smbd|nmbd|winbindd" | 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}

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

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

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

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

[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

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

 systemctl enable samba

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

 systemctl restart samba

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

 systemctl status samba

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

 nslookup yandex.ru 192.168.122.1

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

 /etc/samba/smb.conf

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

 systemctl restart samba

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

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

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

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

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

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

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

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

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

nameserver 192.168.122.12
search samba.loc

Командой

 ping server1

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

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

Установите необходимые пакеты. Для rosa2019.x:

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

Для rosa2016.1:

 urpmi drakxtools samba-server samba-client samba-winbind nss_ldap libnss-role pam_krb5 lib64sasl2-plug-gssapi

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

 drakauth

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

Выберите способ аутентификации «Домен Windows»
DeepinScreenshot выберите-область 20201009145252.png

Выберите тип домена Active Directory
DeepinScreenshot выберите-область 20201009145300.png

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

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

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