Top.Mail.Ru

Коса
Набор в 16-ый поток курса КОСА уже идет! Забронировать место по спец условиям!
Мастер-класс подключение Linux к Windows Server

Мастер-класс подключение Linux к Windows Server

Команды:

resolvectl status - просмотр назначенного DNS

sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit -y - установка всех необходимых компонентов для подключения Linux к домену

sudo realm (область) discover (обнаружить) office.loc

sudo realm discover office.loc - обнаружение нужного домена

sudo realm join (присоединить) -U Администратор (User от имени пользователя Администратор) office.loc (к домену office.loc)

sudo realm join -U Администратор office.loc - подключение машины к домену

sudo realm list - вывод информации о подключении машины к домену

id user-windows-dc@office.loc - вывод информации о доменном пользователе

sudo pam-auth-update - применить изменения в параметрах аутентификации

В данном видео хотел бы рассказать и показать, как рабочую станцию под управлением Linux Ubuntu можно добавить в Windows домен, чтобы организовать работу офиса с разными версиями операционных систем.

В данном случае, если вы все же не планируете добавлять Linux машину в Windows домен, то взаимодействие в сети будет по правилам одноранговой сети, т.е. при подключении к файловому ресурсу, который располагается на Windows, нам необходимо будет указать учетные данные пользователя, который известен системе, к которой мы собираемся подключаться.

Попробуем подключиться к сетевому ресурсу на сервере (Linux \ Файлы\ smb://windows-dc.office.loc

Подключение Linux к Windows Server

, в Linux нам необходимо указывать полное доменное имя машины, к которой мы собираемся подключиться \ Ошибка: В соединении отказано)

Подключение Linux к Windows Server

Почему?

Дело в том, что когда мы подключаемся из под Windows, система видит, что идет попытка подключиться под неизвестным пользователем и она выдает окно ввода имени пользователя и пароля, при подключении с Linux машины, она не выдает это окно при обращении непосредственно к серверу, так как политикой запрещено отображать содержимое общедоступных ресурсов сервера для неизвестных пользователей, поэтому, чтобы нам подключиться, необходимо указать конкретный сетевой ресурс, т.е. полный путь к нему (smb://windows-dc.office.loc/0БМЕН, вот, теперь система запрашивает логин, домен и пароль \ Зарегистрированный пользователь \ Имя пользователя: user-windows-dc \ Домен:office.loc \ Пароль: ВАШ_ПАРОЛЬ \ Запомнить пароль до выхода из системы \ Подключиться)

Подключение Linux к Windows Server

Отлично, доступ мы получили, давайте попробуем переименовать файл в "Привет с Linux.txt" и посмотрим, переименовался ли он на сервере? Да, все прошло успешно, значит мы можем подключаться под доменными учетными записями к сетевым ресурсам и работать с ними.

Понятно, что подобным образом работать не удобно, каждый раз вводить учетные данные пользователей, поэтому необходимо подключить данную машину к домену, чтобы аутентификация выполнялась автоматически.

Перед тем как подключать Linux машину к домену, нужно убедиться, что она видит контроллер домена (Пуск \ Терминал \ ping windows-dc.office.loc \ пинги идут, значит DNS работает корректно и мы видим контроллер домена)

Подключение Linux к Windows Server

На всякий случай давайте проверим, какой DNS используется, так как у нас ранее было указано 2, это 192.168.0.15 и 8.8.8.8

resolvectl status

Global
        Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

Link 2 (ens33)
   Current Scopes: DNS
        Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 192.168.0.15
      DNS Servers: 192.168.0.15

Подключение Linux к Windows Server

Далее, необходимо установить ряд необходимых пакетов для подключения и работы машины в домене, вот какие это пакеты:

sudo apt update

sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit -y

Эти утилиты взаимодействуют друг с другом при подключении и работе в доменной сети.

Подключение Linux к Windows Server

Итак, приступаем к подключению Linux-овой машины к Windows домену.

sudo realm (область) discover (обнаружить) office.loc

sudo realm discover office.loc

Данная утилита предназначена как раз для целей обнаружения и присоединения к домену, а данная команда проверяет, видит ли она наш домен office.loc

office.loc
type: kerberos
realm-name: OFFICE.LOC
domain-name: office.loc
configured: no
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
  required-package: adcli
required-package: samba-common-bin

Подключение Linux к Windows Server

Если вы видите подобный вывод, значит все нормально, система видит домен, говорит, что данная машина к данному домену не подключена (configured: no) а так же видит, что он основан на базе Active Directory, если появляется ошибка, проверьте DNS и связь с сервером.

Теперь самое главное ввод машины в домен. Нам понадобятся учётные данные пользователя, который имеет права на добавление компьютеров в домен (у нас это Администратор) поэтому вводим следующую команду:

sudo realm join (присоединить) -U Администратор (User от имени пользователя Администратор) office.loc (к домену office.loc)

sudo realm join -U Администратор office.loc

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

Если никакого сообщения об ошибке не выдалось, значит все нормально и мы присоединили компьютер к домену. Проверим, подключились ли мы к домену?

sudo realm list

office.loc
type: kerberos
realm-name: OFFICE.LOC
domain-name: office.loc
configured: kerberos-member
server-software: active-directory
client-software: sssd
required-package: sssd-tools
required-package: sssd
required-package: libnss-sss
required-package: libpam-sss
required-package: adcli
required-package: samba-common-bin
login-formats: %U@office.loc
login-policy: allow-realm-logins

И тут мы уже видим, что в пункте configured значение с no изменилось на kerberos-member, что говорит о том, что данная машина является членом этого домена, т.е. office.loc.

Подключение Linux к Windows Server

Проверим, может ли система получать данные от домена о его пользователях?

id user-windows-dc@office.loc

uid=1366001102(user-windows-dc@office.loc) gid=1366000513(пользователи домена@office.loc) группы=1366000513(пользователи домена@office.loc)

Подключение Linux к Windows Server

Да, в данном выводе мы видим идентификатор пользователя и группы, в которых он состоит.

Далее, крайне важный момент, при первом входе в систему, для пользователя должна создаваться домашняя директория, так как это учетные записи не просто для каких-то служб, а для людей, которые будут работать с документами и т.д.

Поэтому, нам необходимо объяснить системе, что такие директории нужно создавать и какие права им необходимо назначать. И данные настройки находятся в следующем файле

cd /usr/share/pam-configs/

ll

drwxr-xr-x   2 root root  4096 июн 22 11:00 ./
drwxr-xr-x 244 root root 12288 июн 22 11:00 ../
-rw-r--r--   1 root root   124 фев 22  2024 capability
-rw-r--r--   1 root root   178 апр  4  2024 fprintd
-rw-r--r--   1 root root   152 мар 22  2024 gnome-keyring
-rw-r--r--   1 root root   154 мар  5  2025 mkhomedir
-rw-r--r--   1 root root   218 янв 21  2024 pwquality
-rw-r--r--   1 root root   524 мая 23 21:27 sss
-rw-r--r--   1 root root   206 мая 23 21:27 sss-smart-card-optional
-rw-r--r--   1 root root   221 мая 23 21:27 sss-smart-card-required
-rw-r--r--   1 root root   182 ноя 21  2025 systemd
-rw-r--r--   1 root root   672 мар  5  2025 unix

Подключение Linux к Windows Server

как следует из названия данного файла mkhomedir (make home directory - создание домашнего каталога)

На всякий случай, создадим бэкап этого конфига, возможно, если это уже рабочая система, данный файл как-то был сконфигурирован.

sudo cp mkhomedir mkhomedir.bak

sudo nano mkhomedir

Удаляем все содержимое и добавляем следующее:

Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
required pam_mkhomedir.so umask=0027 skel=/etc/skel

Подключение Linux к Windows Server

Здесь один интересный нюанс, параметр umask=0027 говорит о том, какие права будут назначаться домашнему каталогу пользователя, но более подробно о параметре umask я расскажу в следующем видео.

По сути, по умолчанию у нас система именно такие права и назначает для домашних каталогов новых пользователей.

Применяем внесенные изменения

sudo pam-auth-update

Выбираем параметр activate mkhomedir \ Space \ Tab \ OK

Подключение Linux к Windows Server

Ура, теперь мы можем пробовать авторизоваться на Linux-овой машине под доменным пользователем на базе Windows Server, но все это мы уже сделаем в следующем уроке!

Давайте зайдем на сервер и убедимся, что данная машина появилась в списке компьютеров домена (Windows Server \ Диспетчер серверов \ Средства \ Пользователи и компьютеры Active Directory \ Компьютеры \ UBUNTU-CLIENT) Отлично! Мы действительно подключили машину к домену.

Давайте попробуем выполнить вход под доменной учетной записью на Linux-овую машину, а для этого создадим доменного пользователя для входа на Linux машину (Windows Server \ Диспетчер серверов \ Средства \ Пользователи и компьютеры Active Directory \ Пользователи \ ПКМ \ Создать \ user-ubuntu-dc \ Имя входа пользователя: user-ubuntu-dc \ Далее \ Пароль \ Подтверждение \ Запретить смену пароля \ Срок действия не ограничен \ Далее \ Готово)

Подключение Linux к Windows Server

Выполним вход в Linux систему под этой учетной записью (Ubuntu-client \ Завершение работы \ Выйти \ Нет в списке \ user-ubuntu-dc@office.loc \ Пароль

Подключение Linux к Windows Server

\ Создание каталога \home\user-ubuntu-dc@office.loc как раз говорит о том, что мы все правильно настроили и для доменного пользователя так же автоматически создается домашний каталог).

Подключение Linux к Windows Server

Давайте попробуем подключиться к серверу через проводник (Файлы \ smb://windows-dc.office.loc и здесь мы уже можем не указывать конкретный ресурс, нас пускает на прямую на сервер, так как сервер нас знает

Подключение Linux к Windows Server

\ 0БМЕН, недостаточно прав для просмотра содержимого объекта и это логично, так как данной учетной записи не разрешено подключаться к данному сетевому ресурсу)

Давайте предоставим права для всех пользователей домена подключаться к сетевому ресурсу 0БМЕН на сервере (0БМЕН \ ПКМ \ Свойства \ Доступ \ Общий доступ \ Добавить \ Пользователи домена \ Чтение и запись)

Попробуем еще раз (Файлы \ smb://windows-dc.office.loc \ 0БМЕН, отлично, доступ есть, давайте создадим файл "Привет с Linux от user-ubuntu-dc" \ ОК)

Подключение Linux к Windows Server

Добавим в закладки наш (0БМЕН \ Файлы \ ПКМ \ Добавить в закладки) теперь мы всегда будем иметь быстрый доступ к файлообменнику.

Подключение Linux к Windows Server

Но, то, что я показал это лишь начало, далее необходимо:

  • - Разграничить права доступа, чтобы каждый пользователь имел свою папку и не мог заглядывать в чужие.
  • - Предоставить доменным администраторам права sudo, чтобы они могли полноценно управлять Linux-машинами так же, как это работает в Windows.
  • - Организовать доступ к сетевым ресурсам: настроить автоматическое монтирование общих папок Windows при входе пользователя в систему.
  • - Создать централизованное управление Linux-клиентами через скрипты как аналог групповых политик.
  • - Обеспечить удалённое администрирование через RDP с Linux-клиента (Remmina) с пробросом локальных дисков и сохранением профилей.
  • - Уделить внимание безопасности.

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

Подключение Linux к Windows Server

Но, об этом я расскажу на живом мастер-классе только для участников 16 потока "Комплексного обучения системному администрированию" 
Успевайте, пока действуют специальный условия для участников 😉