Найти в Дзене
Я у мамы сисадмин

Модуль 2. Задание 1

Настройте доменный контроллер Samba на машине BR-SRV. Будет рассмотрен пример на основе настроек МОДУЛЯ–1 Имеем установленный и настроенный DNS сервер на HQ-SRV. Настройки аналогичны Модуль–1, Задание–10. 1. На HQ-SRV открываем конфигурационный файл DNS сервера /etc/named.conf # nano /etc/named.conf и дописываем строчку allow-transfer { 192.168.200.2; }; где: 192.168.200.2 - IP адрес BR-SRV Перезагружаем службу # systemctl restart named База знаний РЕД ОС - Установка сревера SAMBA DC Переводим SELinux в режим уведомлений # setenforce 0 Проверяем что сервер имеет полное доменное имя # hostnamectl Установка необходимых пакетов # dnf install samba* krb5* -y Настройка сетевого интерфейса через утилиту nmtui В настройках сетевого интерфейса BR-SRV в конфигурации IPv4 необходимо внести следующие значения: IP-адрес первого DNS-сервера – IP-адрес HQ-SRV
IP-адрес второго DNS-сервера – IP-адрес создаваемого контроллера домена (BR-SRV)
Домены поиска – au-team.irpo Отключаем DNS-службы systemd-re
Оглавление

Задание

Настройте доменный контроллер Samba на машине BR-SRV.

  • Создайте 5 пользователей для офиса HQ: имена пользователей формата user№.hq. Создайте группу hq, введите в эту группу созданных пользователей
  • Введите в домен машину HQ-CLI
  • Пользователи группы hq имеют право аутентифицироваться на клиентском ПК
  • Пользователи группы hq должны иметь возможность повышать привилегии для выполнения ограниченного набора команд: cat, grep, id. Запускать другие команды с повышенными привилегиями пользователи группы не имеют права
  • Выполните импорт пользователей из файла users.csv. Файл будет располагаться на виртуальной машине BR-SRV в папке /opt

Реализация

Будет рассмотрен пример на основе настроек МОДУЛЯ–1
Имеем установленный и настроенный DNS сервер на HQ-SRV. Настройки аналогичны Модуль–1, Задание–10.

Дополнительная настройка Bind

1. На HQ-SRV открываем конфигурационный файл DNS сервера /etc/named.conf

# nano /etc/named.conf

и дописываем строчку

allow-transfer { 192.168.200.2; };

где: 192.168.200.2 - IP адрес BR-SRV

Перезагружаем службу

# systemctl restart named

Установка сервера SAMBA DC на BR-SRV

База знаний РЕД ОС - Установка сревера SAMBA DC

Переводим SELinux в режим уведомлений

# setenforce 0

Проверяем что сервер имеет полное доменное имя

# hostnamectl

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

# dnf install samba* krb5* -y

Настройка сетевого интерфейса через утилиту nmtui

В настройках сетевого интерфейса BR-SRV в конфигурации IPv4 необходимо внести следующие значения:

IP-адрес первого DNS-сервера – IP-адрес HQ-SRV
IP-адрес второго DNS-сервера – IP-адрес создаваемого контроллера домена (BR-SRV)
Домены поиска – au-team.irpo
-2

Отключаем DNS-службы systemd-resolved в файле /etc/systemd/resolved.conf

# nano /etc/systemd/resolved.conf

Установливаем параметр DNSStubListener в значение no, отключив прослушивание systemd-resolved на порту 53.

-3

Перезапускаем systemd-resolved и NetworkManager

# systemctl restart systemd-resolved.service NetworkManager

Проверяем изменения в настройках

# cat /etc/resolv.conf

В выводе должен быть указан адрес отличающийся от 127.0.0.53 и Домен поиска (search)

-4

Создание домена под управлением Samba DC

Переименовываем файл /etc/smb.conf, он будет создан в процессе выполнения команды samba-tool

Данный файла при запуске полуавтоматической конфигурации может вызвать ошибку.

# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Создаем резервную копию конфигурационного файла kerberos, используемого по умолчанию

# cp /etc/krb5.conf /etc/krb5.conf.bak

Настройка конфигурации Kerberos /etc/krb5.conf

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

# nano /etc/krb5.conf

-5

Полуавтоматическое конфигурирование сервера с помощью утилиты samba-tool

Конфигурирование в интерактивном режиме выполняется командой:

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

-6

Запуск и проверка работоспособности

Запуск и добавление в автозагрузку службы samba:

# systemctl enable --now samba

Проверка статуса службы:

# systemctl status samba

Проверяем работу домена

# samba-tool domain info 127.0.0.1

# samba-tool domain info 192.168.200.2

-7

Добавление пользователей

Создаем 5 пользователей

# samba-tool user add user1.hq P@ssw0rd

# samba-tool user add user2.hq P@ssw0rd

# samba-tool user add user3.hq P@ssw0rd

# samba-tool user add user4.hq P@ssw0rd

#samba-tool user add user5.hq P@ssw0rd

-8

Создаем группу и добавляем туда созданных пользователей

# samba-tool group add hq

# samba-tool group addmembers hq user1.hq,user2.hq,user3.hq,user4.hq,user5.hq

-9

Вывод списка пользователей Samba DC

# samba-tool user list

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

В настройке сетевого интерфейса HQ-CLI добавляем Дополнительные серверы DNS – прописав IP адрес BR-SRV
-10

В терминале HQ-CLI запускаем скрипт join-to-domain.sh с привилегиями суперпользователя

-11

Вводим пароль, который вводили при настройке домена через samba-tool

Перезагружаем HQ-CLI и входим под доменным пользователем

Проверка

На BR-SRV проверяем

Пример получения списка имен (SAM) компьютеров:

# samba-tool computer list

Пример получения списка уникальных составных имен компьютеров (DN):

# samba-tool computer list --full-dn

-12

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

# samba-tool user list

Пример получения списка уникальных составных имен пользователей (DN):

# samba-tool user list --full-dn

Привилегии для выполнения набора команд

Создаем файл в /etc/sudoers.d/hq на HQ-CLI

# nano /etc/sudoers.d/hq

Прописываем следующую строку

Повышение привилегий с вводом пароля

%hq ALL=(ALL) /usr/bin/cat, /usr/bin/grep, /usr/usr/bin/id

Повышение привилегий без ввода пароля

%hq ALL=(ALL) NOPASSWD:/usr/bin/cat, /usr/bin/grep, /usr/bin/id

где /usr/bin/cat, /usr/bin/grep, /usr/bin/id - полный путь к запускаемым командам

Нахождение полного пути к команде

Which в Linux — это утилита для нахождения местоположения исполняемых файлов. Она анализирует пути, указанные в переменной окружения PATH, и возвращает путь к первому найденному файлу, соответствующему запрошенному имени.
-13

Импорт пользователей

Пользователи импортированные из скачанного файла Users.csv с https://de.firpo.ru могут не авторизоваться (не верный пароль) из-за кодировки символов. Модернизированный файл Users.csv

Открываем файл /opt/Users.csv с помощью команды head, Для просмотра имен полей таблицы Users.csv

# head /opt/Users.csv

Имена полей необходимы для команды read в Bash скрипте

-14
Создаем Bash скрипт добавления пользователей из .csv файла в Samba AD

# nano samba-user-add.sh

Указываем путь к .csv файлу с пользователями

#!/bin/bash

FILE="/opt/Users.csv"

Построчно в цикле читаем файл с разбивкой на строки с использованием разделителя ;

while IFS=';' read -r firstname lastname role phone ou street zip city country password; do

Добавляем пользователя Samba

samba-tool user add "$firstname.$lastname" "$password"

Завершаем цикл и исключаем строку заголовка из выходных данных tail -n +2

done < <(tail -n +2 "$FILE")

Скрипт

#!/bin/bash

FILE="/opt/Users.csv"

while IFS=';' read -r firstname lastname role phone ou street zip city country password; do
samba-tool user add "$firstname.$lastname" "$password"
done < <(tail -n +2 "$FILE")

Сохраняем файл скрипта, выдаём ему право на выполнение и запускаем его

# chmod +x /root/samba-user-add.sh

# cd /root

# ./samba-user-add.sh

Скрипт отрабатывает продолжительное время. Можно пока выполнять другой пункт задания