CentOS. Samba. DC Active Directory. Установка. GPO.


24.12.2018

Всем привет. Давайте установим Samba и настроим DC Active Directory. И да - Linux это умеет с выходом четвёртой самбы. Функционал кончено простенький, но основные функции есть. Ставить будем на «CentOS-7-x86_64-Minimal-1810». Начнём с того что подготовим наш CentOS:

Первым делом, отключим улучшенную систему безопасности «SELinux» и перезагрузим сервер:

sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

А также отключим фаервол:

systemctl stop firewalld
systemctl disable firewalld

После чего проверяем статус:

systemctl status firewalld

Далее, в качестве хорошего тона настройки серверов, мы приведём в порядок время:

yum install -y ntp && ntpdate pool.ntp.org && \ chkconfig ntpd on && service ntpd start

Обновим систему и перезагрузим:

yum update -y && reboot


Установим нужные пакеты:

yum -y install epel-release
yum -y install bind bind-utils
yum -y install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel
yum -y install gdb pkgconfig krb5-workstation setroubleshoot-server setroubleshoot-pugins
yum -y install libaio-devel policycoreutils-python libsemanage-python setools-libs
yum -y install popt-devel libpcap-devel sqlite-devel libidn-devel jansson-devel
yum -y install libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel
yum -y install cyrus-sasl-devel cups-devel bind-utils libxslt docbook-style-xsl openldap-devel
yum -y install gpgme-devel python-gpgme lmdb lmdb-devel pam-devel zlib-devel
yum -y install authconfig libarchive-devel bzip2 nano vim wget mc


Теперь создадим каталог для исходника самбы:

mkdir -p /var/srccode/sambacode

переходим в каталог:

cd /var/srccode/sambacode

качаем исходник:

wget https://download.samba.org/pub/samba/samba-latest.tar.gz

распакуем исходник:

tar -zxvf samba-latest.tar.gz

переходим в распакованный каталог:

cd samba*

Запускаем конфигурирование:

./configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind

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

make && make install

Самба развернётся в каталог «/usr/local/samba» это знать нужно для того чтобы – если захотим скомпилировать и установить другую версию - нужно удалить этот каталог заранее.

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

редактируем файл /etc/profile

nano /etc/profile

находим строку «# Path manipulation»
и приводим вот к такому виду:

# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /usr/local/samba/bin
pathmunge /usr/local/samba/sbin
else
pathmunge /usr/local/samba/bin after
pathmunge /usr/local/samba/sbin after
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
fi


Далее даём команду:

. /etc/profile

Проверяем что добавились переменные:

echo $PATH

Далее обезвредим главный конфиг самбы и krb5, потому что он не даст создать домен:

rm -rf /usr/local/samba/etc/smb.conf
rm -rf /etc/krb5.conf

Далее даём команду на создание домена:

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

Пишем имя домена (Realm) типа CENT.LCL затем вводим 2 раза пароль администратора - он должен быть не меньше 7 символов.

Обратите внимание что у нас сгенерировался новый krb5.conf – и упал он в каталог «/usr/local/samba/private/». Давайте положим его туда где он должен быть:

cp /usr/local/samba/private/krb5.conf /etc/krb5.conf

Проверим что он там сгенерировал:

cat /etc/krb5.conf


Теперь нам нужно сделать самим себя DNS сервером:
Переходим в каталог с описанием сетевых интерфейсов:

cd /etc/sysconfig/network-scripts/

смотрим содержимое:

ls


А конкретно нас конечно заинтересует «ifcfg-eth0»:
nano /etc/sysconfig/network-scripts/ifcfg-eth0

Где нам кончено же нужно исправить DNS на 127.0.0.1:


Следующим этапом нужно создать сценарий запуска:

nano /etc/systemd/system/samba.service

Заполняем вот этим:

[Unit]
Description= Samba 4 Active Directory
After=syslog.target
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/samba/var/run/smbd.pid
ExecStart=/usr/local/samba/sbin/samba

[Install]
WantedBy=multi-user.target


Далее делаем перезапуск служб:

systemctl daemon-reload

Далее мы разрешим автозапуск службы самбы:

systemctl enable samba.service

Запустим службу самбы:

systemctl start samba.service

перезагрузим сервер:

sudo reboot

Смотрим статус самбы:

systemctl status samba.service

И видим, зелёный статус:

Пробуем подключить клиентскую Windows машину к нашему домену «CENT.LCL». Меняем на Windows машине DNS сервер на IP адрес нашего доменного DNS сервера или как в нашем случае просто на IP адрес домен-контроллера. Указываем login – administrator и пароль. Ура – windows в домене!

Далее для того чтобы управлять нашим доменом с клиентской машины – нужно установить RSAT или Remote Server Administration Tools - это набор инструментов, которые позволяют администраторам управлять ролями и функциями на Windows Server с компьютера на базе клиентской Windows, подключенной к домену. Затем нам нужно установить нужные компоненты windows – Идём в панель управления – программы – включение и отключение компонентов Windows. И включаем нужные компоненты:

Windows 10:




Windows 7:






Попробуем применить групповую политику.

Windows 10:


Я уже заранее создал в домене организационную единицу или подразделение «Бухгалтерия» и в ней учётную запись «o.borodina»:

Создадим базовую групповую политику, которая отключит фаервол, включит RDP и удалённого помощника на клиенте. Открываем управление групповыми политиками – жмём правой кнопкой по пункту «Объекты групповой политики» - «Создать» - меняем название и жмём «ОК».

Жмём правой кнопкой на политике – «Изменить» - откроется редактор политик и настроек для компьютера и пользователей. Для начала настроим включение RDP на клиентских машинах – «Конфигурация компьютера» - «Политики» - «Административные шаблоны» - «Компоненты Windows»:

Находим пункт «Службы удалённых рабочих столов» - далее «Узел сеансов удалённых рабочих столов» - «Подключения» - далее справа пункт «Разрешить пользователям удалённое подключение с использованием служб удалённых рабочих столов» - кликаем 2 раза и в открывшемся диалоге ставим чек на «Включено».

Отключаем «Брандмауэр»: В разделе «Административные шаблоны» находим пункт «Сеть» - «Сетевые подключения» - «Брандмауэр защитника Windows» - «Профиль домена».

Справа заходим в пункт «Защита всех сетевых подключений» - и ставим чек на «Отключено».

Включаем удалённого помощника: В разделе «Административные шаблоны» находим пункт «Система» - «Удалённый помощник» - справа нас будут интересовать 2 пункта – «Включить ведение журналов сеансов» и «Настроить предлагаемую удалённую помощь»:

В разделе «Включить ведение журналов сеансов» - просто ставим чек на «Включено». В настройках предлагаемой удалённой помощи – Нужно поставить чек на «Включено» а затем перейти ниже в пункт «параметры» - и вписать помощника – которому даём права на управление – в моём случае «CENT\administrator»:

Зачем нужно активировать удалённого помощника? Ведь есть RDP можете вы спросить. Дело в том, что при RDP соединении сам пользователь на рабочем месте не видит, что происходит на рабочем столе. А удалённый помощник — это совместная работа с пользователем.

Теперь нашу созданную групповую политику «GPO» нужно применить к подразделению. Жмём правой кнопкой по подразделению и выбираем пункт «Связать существующий объект групповой политики» и выбираем нашу GPO. В ветке подразделения появится ярлык нашей групповой политики – через этот ярлык мы можем отвязать влияние этой политики на подразделение.

И ещё один немало важный момент – жмём правой кнопкой по политике – находим «состояние объекта групповой политики» ставим чек на – «параметры конфигурации пользователя отключены». Зачем? Это сделано чтобы политика применялась при загрузке операционной системы, а не после авторизации доменного пользователя. Потому что авторизоваться после ввода в домен в систему может и не доменный пользователь, а локальный! А политики уже бы надо чтоб применились.


Навигация: