Перед настройкой самого контроллера домена удалим службу 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
Теперь введём клиентскую машину в домен:
Чтобы настроить права созданных нами пользователей, нужно установить ещё один пакет на 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
Включим дополнительные возможности через настройки:
Разрешаем использование 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
Добавляться они будут долго, но мы это сделали! Успех!
Если есть желание, проверьте, зайдя под одним из этих пользователей через клиентскую машину.