Найти в Дзене
Культурный век

2model.Настройка доменного контроллера Samba на машине Linux

Перед настройкой самого контроллера домена удалим службу bind с нашего сервера: apt-get remove bind Переходим к настройке BR-SRV: Проверьте, что /etc/resolv.conf хранит запись: nameserver 8.8.8.8 Теперь ставим долгожданную службу samba на BR-SRV: apt-get update apt-get install task-samba-dc Приводим /etc/resolv.conf к следующему виду: nameserver 192.168.1.2 Это нужно сделать обязательно, т.к. при установке Samba как доменного контроллера, будет ещё использоваться DNS-сервер. А у нас уже есть DNS-сервер, и это – HQ-SRV (ведь это его адрес), вот он и будет использоваться для разрешения доменных имен. Теперь удалим конфиг smb.conf, чтобы он не мешал при настройке службы: rm -rf /etc/samba/smb.conf Проверяем, что установлено полное доменное имя у BR-SRV: hostname -f Если запись не соответствует рисунку выше, то нужно его настроить: hostnamectl set-hostname br-srv.au-team.irpo; exec bash Настроим hosts, добавив новую запись в конец файла: mcedit /etc/hosts 192.168.4.2 br-srv.au-team.irpo Те

Перед настройкой самого контроллера домена удалим службу bind с нашего сервера:

apt-get remove bind

Переходим к настройке BR-SRV:

Проверьте, что /etc/resolv.conf хранит запись:

nameserver 8.8.8.8

Теперь ставим долгожданную службу samba на BR-SRV:

apt-get update

apt-get install task-samba-dc

Приводим /etc/resolv.conf к следующему виду:

nameserver 192.168.1.2

Это нужно сделать обязательно, т.к. при установке Samba как доменного контроллера, будет ещё использоваться DNS-сервер. А у нас уже есть DNS-сервер, и это – HQ-SRV (ведь это его адрес), вот он и будет использоваться для разрешения доменных имен.

Теперь удалим конфиг smb.conf, чтобы он не мешал при настройке службы:

rm -rf /etc/samba/smb.conf

Проверяем, что установлено полное доменное имя у BR-SRV:

hostname -f

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

hostnamectl set-hostname br-srv.au-team.irpo; exec bash

Настроим hosts, добавив новую запись в конец файла:

mcedit /etc/hosts

192.168.4.2 br-srv.au-team.irpo

Теперь в конфигурацию нашего DNS-сервера на HQ-SRV добавим следующую строку:

server=/au-team.irpo/192.168.4.2

Перезапускаем dnsmasq как службу:

systemctl restart dnsmasq

А теперь запускаем автонастройку доменного контроллера на BR-SRV. Если предложенные значения верны, те, что находятся в [], то нажимаем Enter, если нет, то нужно проверять предыдущие настройки.

samba-tool domain provision

AU-TEAM.IRPO

AU-TEAM

dc

SAMBA_INTERNAL

192.168.1.2 (Здесь вводим значение вручную)

123qweR%

После настройки должно появится такое в терминале, это значит, что всё настроено верно:

Перемещаем сгенерированный конфиг krb5.conf и включаем службу samba:

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

systemctl enable samba

Из-за того, что на Alt Linux могут пропадать IP-адреса после перезагрузки системы, добавим запись о перезапуске службы network и samba в crontab (именно в таком порядке), пишем в консоль:

export EDITOR=mcedit

сrontab -e

И вносим в конец файла следующие строки:

@reboot /bin/systemctl restart network

@reboot /bin/systemctl restart samba

!ВАЖНО! Оставляем ещё одну пустую строку снизу, иначе файл не станет сохраняться!

Теперь ПЕРЕЗАПУСКАЕМ машину BR-SRV:

reboot

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

samba-tool domain info 127.0.0.1

Домен работает, у вас должно всё соответствовать картинке выше.

Теперь создадим 5 пользователей:

samba-tool user add user1.hq 123qweR%

samba-tool user add user2.hq 123qweR%

samba-tool user add user3.hq 123qweR%

samba-tool user add user4.hq 123qweR%

samba-tool user add user5.hq 123qweR%

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

samba-tool group add hq

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

Теперь введём клиентскую машину в домен:

-2
-3
-4

Чтобы настроить права созданных нами пользователей, нужно установить ещё один пакет на BR-SRV, но перед этим нужно подключить нужный репозиторий следующей командой:

apt-repo add rpm http://altrepo.ru/local-p10 noarch local-p10

Теперь обновляем список пакетов:

apt-get update

И можем устанавливать нужный нам пакет:

apt-get install sudo-samba-schema

Далее добавляем новую схему следующей командой:

sudo-schema-apply

Откроется следующее диалоговое окно, нажимаем yes:

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

После этого должно появиться такое окно:

Далее мы создаём новое правило следующей командой (которую он сам предлагает в этом окне):

create-sudo-rule

И вносим следующие изменения (имя правила можно любое):

Имя правила : prava_hq

sudoCommand : /bin/cat

sudoUser : %hq

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

Заходим под локальным пользователем на клиентской машине HQ-CLI и получаем права root:

sudo su

Обновляем список пакетов:

apt-get update

И поставим пакет admc:

apt-get install admc

Затем создаём тикет доменного администратора, чтобы получить права на редактирование правил на сервере:

kinit administrator

123qweR%

И запускаем admc:

admc

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

-5
-6
-7
И добавим ещё две команды в опцию sudoCommand (grep и id):
И добавим ещё две команды в опцию sudoCommand (grep и id):
Обратите внимание, что путь до id отличается от других команд!
Теперь, чтобы работали все созданные нами правила, нужно зайти на HQ-CLI и установить дополнительные пакеты:
apt-get update
apt-get install sudo libsss_sudo
Обратите внимание, что путь до id отличается от других команд! Теперь, чтобы работали все созданные нами правила, нужно зайти на HQ-CLI и установить дополнительные пакеты: apt-get update apt-get install sudo libsss_sudo

Разрешаем использование sudo:

control sudo public

Настроим конфиг sssd.conf:

mcedit /etc/sssd/sssd.conf

services = nss, pam, sudo

sudo_provider = ad

Теперь отредактируем nsswitch.conf:

mcedit /etc/nsswitch.conf

sudoers: files sss

Теперь перезагрузим нашу клиентскую машину HQ-CLI.

reboot

На данном этапе мы можем проверить настроенные нами права и правильность настроек конфигурационных файлов. Сделать мы это можем под локальной учётной записью, у которого есть права администратора, в нашем случае это просто root. А ещё мы можем открыть вторую сессию нажав сочетание клавиш:

Ctrl+Alt+F2

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

Ctrl+Alt+F1

После того как зашли на вторую сессию, логинимся под root

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

rm -rf /var/lib/sss/db/*

sss_cache -E

И перезагружаем службу sssd:

systemctl restart sssd

Теперь проверим, какие правила для sudoers получил наш доменный пользователь:

sudo -l -U user1.hq

Вернёмся в первую сессию и залогинимся под нашем доменным пользователем user1.hq и проверить настроенные права наглядно:

Ctrl+Alt+F1

sudo cat /etc/passwd | sudo grep root && sudo id root

Настройка прав для группы hq завершена!

Приступаем к следующему этапу – импортируем пользователей из таблицы Users.csv.

Для этого нам нужно скачать файл Users.csv, но на ДЭ он уже будет скачан и лежать в каталоге /opt. Мы же, для обучения, скачиваем сейчас его сами и перемещаем его в /opt. Для этого пишем следующие команды:

curl -L https://bit.ly/3C1nEYz > /root/users.zip

unzip /root/users.zip

mv /root/Users.csv /opt/Users.csv

Создаём файл import и пишем туда следующий код:

mcedit import

#!/bin/bash

csv_file=”/opt/Users.csv”

while IFS=”;” read -r firstName lastName role phone ou street zip city country password; do

if [ “$firstName” == “First Name” ]; then

continue

fi

username=”${firstName,,}.${lastName,,}”

sudo samba-tool user add “$username” 123qweR%

done < “$csv_file”

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

chmod +x /root/import

bash /root/import

Добавляться они будут долго, но мы это сделали! Успех!

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