Skip to content

Задание №1: Контроллер домена Samba DC и ввод клиента HQ-CLI ​

В данном задании на сервере филиала (BR-SRV) развёртывается контроллер домена Active Directory на базе Samba DC для доменной зоны au-team.irpo.

Затем выполняется ввод клиентской графической станции HQ-CLI в созданный домен, создание учетных записей hquser1–hquser5, объединение их в доменную группу hq и настройка гранулярного делегирования прав через ролевую модель libnss-role и /etc/sudoers (разрешён запуск только команд cat, grep, id).

Узлы выполнения

  1. BR-SRV — первичный контроллер домена (Samba DC, встроенный DNS, Kerberos, пользователи и группы).
  2. HQ-RTR — перенаправление DNS-сервера в конфигурации DHCP (dnsmasq) на контроллер домена.
  3. HQ-CLI — клиентская рабочая станция (ввод в домен через Центр управления системой acc, связка ролей libnss-role и ограничение sudo).

1. Теоретическая справка ​

Что такое Samba DC? ​

Samba 4 Active Directory Domain Controller (AD DC) — полноценная реализация служб каталога Microsoft Active Directory в Linux. Она объединяет в себе:

  • Сервер каталогов LDAP для хранения информации об объектах (пользователи, группы, компьютеры);
  • Центр распределения ключей Kerberos KDC для безопасной сквозной аутентификации;
  • Встроенный DNS-сервер Samba Internal DNS для разрешения служебных записей SRV, A и CNAME;
  • Общую сетевую папку политик SYSVOL.

Механизм ролей libnss-role и roleadd в ALT Linux ​

В ALT Linux для сопоставления доменных групп Active Directory с локальными системными группами (например, привилегированной группой wheel) используется механизм libnss-role. Команда roleadd hq wheel сообщает системе, что члены доменной группы hq при аутентификации на машине автоматически наделяются правами локальной группы wheel.


2. Развёртывание Samba DC на сервере BR-SRV ​

Выполняем все действия под пользователем root.

Шаг 1.1. Установка пакетов Samba DC ​

Для загрузки необходимых компонентов на сервере должен функционировать выход в Интернет:

bash
# Обновляем кэш репозиториев и устанавливаем метапакет контроллера домена:
apt-get update && apt-get install task-samba-dc -y

Важно: строгий порядок действий

Сначала обязательно устанавливаем пакеты, а только потом меняем DNS! Если изменить DNS до установки пакетов (например, направив на ещё ненастроенный локальный резолвер), сервер потеряет связь с репозиториями ALT Linux в Интернете и вы не сможете скачать необходимые пакеты.

Что делает task-samba-dc?

Это метапакет ALT Linux, который автоматически устанавливает все необходимые компоненты: демон samba, библиотеки аутентификации Kerberos, утилиты администрирования samba-tool и модули безопасности.


Шаг 1.2. Настройка DNS-резолвера перед инициализацией домена ​

После успешной установки пакетов подготавливаем сетевой резолвер:

bash
# Прописываем рабочий DNS-сервер
echo "nameserver 192.168.1.10" >> /etc/net/ifaces/enp7s1/resolv.conf

# Применяем сетевые настройки
systemctl restart network

# Проверяем фактический resolv.conf и пинг в Интернет
cat /etc/resolv.conf
ping ya.ru -c 2

Шаг 1.3. Подготовка и инициализация (Provisioning) домена ​

Перед созданием нового домена необходимо полностью удалить конфигурации по умолчанию и старые базы данных:

bash
# Удаляем базовый smb.conf
rm -f /etc/samba/smb.conf

# Очищаем каталоги баз данных Samba
rm -rf {/var/lib/samba, /var/cache/samba}

# Создаём каталог репликации групповых политик SYSVOL
mkdir -p /var/lib/samba/sysvol

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

bash
samba-tool domain provision

Ответы на запросы мастера:

  1. Realm: AU-TEAM.IRPO (нажимаем Enter для согласия)
  2. Domain: AU-TEAM (нажимаем Enter)
  3. Server Role: dc (нажимаем Enter)
  4. DNS backend: SAMBA_INTERNAL (нажимаем Enter)
  5. DNS forwarder IP address: нажимаем Enter (или вводим 77.88.8.8)
  6. Administrator password: вводим P@ssw0rd
  7. Retype password: повторяем пароль P@ssw0rd

Шаг 1.4. Настройка Kerberos и запуск службы ​

Samba создаёт рабочий файл конфигурации Kerberos в закрытой директории. Подменяем им системный файл:

bash
# Создаём резервную копию системного файла krb5.conf
mv /etc/krb5.conf /etc/krb5.conf.back

# Копируем сгенерированный файл конфигурации домена
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

# Включаем автозапуск и активируем службу Samba DC
systemctl enable --now samba

# Проверяем статус работы демона
systemctl status samba

# Проверяем доступность домена локально
samba-tool domain info 127.0.0.1

3. Настройка DNS-записей и проверка билета Kerberos (BR-SRV) ​

Клиентам домена и сервисам необходимы A-записи для обращения к хостам по доменным именам.

Шаг 2.1. Добавление ресурсных записей A ​

bash
# Добавляем A-записи ключевых серверов и маршрутизаторов
samba-tool dns add br-srv.au-team.irpo au-team.irpo hq-srv A 192.168.1.10 -U Administrator
samba-tool dns add br-srv.au-team.irpo au-team.irpo hq-rtr A 192.168.1.1 -U Administrator
samba-tool dns add br-srv.au-team.irpo au-team.irpo br-rtr A 192.168.3.1 -U Administrator

# Добавляем A-записи для будущих веб-приложений
samba-tool dns add br-srv.au-team.irpo au-team.irpo web.au-team.irpo A 172.16.1.1 -U Administrator
samba-tool dns add br-srv.au-team.irpo au-team.irpo docker.au-team.irpo A 172.16.2.1 -U Administrator

# Просматриваем все записи зоны au-team.irpo
samba-tool dns query br-srv.au-team.irpo au-team.irpo @ ALL -U administrator

Запрос пароля Administrator

При выполнении каждой команды утилита samba-tool запросит пароль администратора домена — вводим P@ssw0rd.


Шаг 2.2. Переключение резолвера BR-SRV на локальный DNS ​

Теперь, когда Samba DC работает и обслуживает DNS, переключаем локальный резолвер сервера на 127.0.0.1:

bash
# Заменяем внешний DNS на локальный loopback
sed -i 's/nameserver 192.168.1.10/nameserver 127.0.0.1/' /etc/net/ifaces/enp7s1/resolv.conf 

# Перезапускаем сеть
systemctl restart network

# Проверяем файл resolv.conf
cat /etc/resolv.conf

# Проверяем получение билета Kerberos TGT (Ticket Granting Ticket)
kinit administrator@AU-TEAM.IRPO

(При запросе пароля вводим P@ssw0rd. Команда должна завершиться без ошибок).


4. Создание пользователей и доменной группы (BR-SRV) ​

Согласно заданию, создаём группу hq и 5 пользователей hquser1–hquser5 с добавлением их в группу:

bash
# 1. Создаём доменную группу hq
samba-tool group add hq

# 2. Быстрое создание пользователей hquser1 - hquser5 в цикле
for i in {1..5}; do samba-tool user add hquser$i P@ssw0rd; done

# 3. Включение пользователей в группу hq
for i in {1..5}; do samba-tool group addmembers hq hquser$i; done

# 4. Проверка членов группы hq
samba-tool group listmembers hq

Вывод команды проверки должен содержать:

text
hquser1
hquser2
hquser3
hquser4
hquser5

5. Корректировка DNS-сервера на маршрутизаторе HQ-RTR ​

Чтобы клиент HQ-CLI при получении сетевых настроек по DHCP автоматически обращался к нашему новому контроллеру домена BR-SRV (192.168.3.10), обновляем опцию dhcp-option=6 в конфигурации dnsmasq:

bash
# Подключаемся на HQ-RTR под root:
sed -i 's/192.168.1.10/192.168.3.10/' /etc/dnsmasq.conf

# Перезапускаем сервис dnsmasq
systemctl restart dnsmasq

# Убеждаемся в наличии строки dhcp-option=6,192.168.3.10
cat /etc/dnsmasq.conf

6. Ввод в домен рабочей станции HQ-CLI (GUI) ​

Переходим за графическую консоль рабочей станции HQ-CLI под стандартным пользователем user:

Шаг 6.1. Обновление сети и ввод в домен через Центр управления (Alterator) ​

  1. Открываем терминал и перезагружаем сетевой интерфейс для обновления настроек DNS от DHCP:

    bash
    su -
    systemctl restart network
    cat /etc/resolv.conf
    exit

    (Убеждаемся, что в nameserver указан IP контроллера домена BR-SRV).

  2. Запускаем Центр управления системой ALT Linux:

    bash
    acc

    (При запросе прав вводим пароль суперпользователя).

  3. В левом меню выбираем: Пользователи → Аутентификация.

  4. Устанавливаем флажок: Домен Active Directory.

  5. Нажимаем кнопку Применить.

  6. В появившемся диалоговом окне ввода учетных данных администратора домена вводим пароль: P@ssw0rd.

  7. При успешном подключении появится окно: «Добро пожаловать в домен AU-TEAM.IRPO».

  8. Перезагружаем рабочую станцию:

    • Меню приложений → Выйти → Перезагрузить.

Шаг 6.2. Проверка первого входа под доменным пользователем ​

На экране входа в систему (Display Manager):

  • Имя пользователя: hquser1
  • Пароль: P@ssw0rd

Система успешно авторизует пользователя и создаст домашний каталог /home/AU-TEAM/hquser1.


7. Делегирование прав и ограничение sudo на HQ-CLI ​

По требованию задания пользователи группы hq должны иметь возможность выполнять с повышенными привилегиями только команды cat, grep, id.

Шаг 7.1. Настройка ролевой модели и sudoers ​

Открываем терминал и переходим в режим суперпользователя root (su -):

bash
# 1. Проверяем статус подсистемы libnss-role
control libnss-role
# Ожидаемый вывод: enabled

# 2. Связываем доменную группу hq с привилегированной системной ролью wheel
roleadd hq wheel

# 3. Добавляем правило строго ограниченного sudo в конец файла /etc/sudoers
echo "WHEEL_USERS ALL=(ALL:ALL) /bin/cat, /bin/grep, /usr/bin/id" >> /etc/sudoers

# 4. Проверяем последние строки /etc/sudoers
tail -n 3 /etc/sudoers

Шаг 7.2. Проверка ограничений под доменным пользователем ​

Перезагружаем машину или выполняем повторный вход под пользователем hquser1:

  • Меню → Выйти → Перезагрузить.
  • Входим как: hquser1 / P@ssw0rd.

Открываем терминал и проверяем разрешённые команды:

bash
# 1. Проверка UID/GID и ролей
sudo id
# Вводим пароль: P@ssw0rd
# Результат: uid=0(root) gid=0(root)...

# 2. Проверка чтения системных файлов
sudo cat /etc/resolv.conf
# Результат: содержимое файла успешно выводится

# 3. Проверка команды grep
sudo grep "nameserver" /etc/resolv.conf
# Результат: найденная строка выводится

Проверка запрета на другие команды:

bash
# Попытка выполнить запрещенную команду (например, bash или reboot)
sudo ls /root
sudo -i

Ожидаемый результат: Sorry, user hquser1 is not allowed to execute ... as root on hq-cli.au-team.irpo.

Итог выполнения Задания №1

Домен Active Directory успешно развёрнут на BR-SRV, рабочая станция HQ-CLI введена в домен, пользователи авторизуются через Kerberos/LDAP, а права административного доступа строго ограничены белым списком утилит.

Работает на VitePress • Быстрый и удобный движок для документации