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. В ветке подразделения появится ярлык нашей групповой политики – через этот ярлык мы можем отвязать влияние этой политики на подразделение.
И ещё один немало важный момент – жмём правой кнопкой по политике – находим «состояние объекта групповой политики» ставим чек на – «параметры конфигурации пользователя отключены». Зачем? Это сделано чтобы политика применялась при загрузке операционной системы, а не после авторизации доменного пользователя. Потому что авторизоваться после ввода в домен в систему может и не доменный пользователь, а локальный! А политики уже бы надо чтоб применились.