Ввод в Active Directory Ubuntu 20 – ключевая веха в процессе легализации вашей IT инфраструктуры. Всё это время я писал о всевозможных настройках бэкенда, который пользователям недоступен. Оно конечно не критично когда у вас весь фронтенд работает на масдае. Но шо таки делать если мы так не бохаты? Если масдай во фронте для нас дораха? Таки есть достойное решение. Достойное в достаточной мере. Вы конечно же не обойдётесь без масдая если вам нужен какой-то полноценный CADовский софт (веб версия подписки автокада уже очень даже юзабельна).
Но если ваш набор софта – не включает в себя тяжелейшие и незаменимые программные комплексы стоимость которых насчитывает много нулей, на фоне которых стоимость винды просто теряется – абсолютно бесплатная линуксовая реализация для вас! В конце данной статьи у вас будет введённая в домен Ubuntu 20, позволяющая любому пользователю домена авторизоваться и работать на ней как обычный пользователь. Данная статья основывается на подключении к контроллеру домена поднятому по моим выпущенным ранее статьям, работать должно с любой реализацией AD (но я конечно же не тестировал).
Нууу и собственно так как написание статей с большим объёмом матчасти – в буквальном смысле высасывает душу и отнимает десятки часов свободного времени с нулевым выходом лайков, репостов, начитки за неделю и всего всего что могло бы приблизить меня к монетизации, данная статья будет выпущена в виде краткого howto. Если окажется популярной и наберёт хотя бы 2 сотни лайков, выпущу продолжение с матчастью.
Исходные данные
- Ubuntu 20 Desktop clear install
- Контроллер домена с IP 192.168.1.100 и именем ag-dc-1
- Домен adminguide.lan
- Имя хоста est-makina-20, IP 192.168.1.45
Ввод в Active Directory Ubuntu 20 с winbind
Я конечно же как обычно описываю сферического коня в вакууме. Потому мы вводим в домен Ubuntu 20 которая только только установлена.
Подготовка
Для начала необходимо обновить систему
sudo apt update && sudo apt dist-upgrade -y
Следующим шагом мы устанавливаем все необходимые пакеты:
sudo apt install krb5-user samba smbclient winbind libpam-krb5 libpam-winbind libnss-winbind ntp -y
Не важно что вы укажете когда установщик спросит область kerberos, файл krb5.conf будет подменён.
После того как установка закончится, блокируем перезапись NetwotkManager’ом файла resolv.conf
sudo nano /etc/NetworkManager/NetworkManager.conf
И в раздел main добавляем новую строку
dns=none
Бэкапим resolv.conf
sudo mv /etc/resolv.conf /etc/resolv.conf.original
sudo nano /etc/resolv.conf
И настраиваем файл следующим образом:
domain adminguide.lan
search adminguide.lan
nameserver 192.168.1.100
# nameserver 192.168.1.101
Перенастраиваем файл hosts
sudo nano /etc/hosts
И заменяем строку начинающуюся со 127.0.1.1 на
192.168.1.45 est-makina-20.adminguide.lan est-makina-20
Здесь мы сталкиваемся с проблемой связанной с тем что в файле hosts должен быть алиас ip адреса и имени хоста. Так что мы теряем мобильность хоста и необходимо на DHCP сервере прописать статическую аренду для этого хоста.
Настраиваем ntp клиент
Открываем на редактирование файл конфигурации
sudo nano /etc/ntp.conf
И указываем ntp клиенту сервер времени нашего контроллера домена:
server ag-dc-1.adminguide.lan
После чего перезапускаем ntp демона
sudo systemctl restart ntp
После чего нам необходимо настроить Kerberos изменив файл /etc/krb5.conf
Ввод в Active Directory Ubuntu 20 – Настройка kerberos
Переименовываем существующий файл krb5.conf
sudo mv /etc/krb5.conf /etc/krb5.conf.original
sudo nano /etc/krb5.conf
И на его месте создаём новый файл, сохранив в нём следующие настройки:
[libdefaults]
default_realm=ADMINGUIDE.LAN
dns_lookup_realm= false
dns_lookup_kdc=true
Active Directory Ubuntu 20 – Настройка SAMBA
Теперь настраиваем SAMBA, сперва переименовав файл smb.conf и создав на его месте новый.
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.original
sudo nano /etc/samba/smb.conf
Вставляем туда следующее содержимое:
Создаём файл /etc/samba/user.map
sudo nano /etc/samba/user.map
и вставляем следующее:
!root = ADMINGUIDE\Administrator
Редактируем файл limits.conf
sudo nano /etc/security/limits.conf
вставляем следующее:
* - nofile 16384
root - nofile 16384
Редактируем файл nsswitch.conf
sudo nano /etc/nsswitch.conf
Строки group и passwd приводим к следующему виду:
passwd: files winbind
group: files winbind
В файл common-session
sudo nano /etc/pam.d /common-session
в конец добавляем следующую строку:
session optional pam_mkhomedir.so skel=/etc/skel umask= 077
Создаём следующий файл:
sudo nano /etc/skel/.xsession
И записываем в него следующее содержимое:
gnome-session --session=ubuntu-2d
Вводим машину в домен:
sudo net ads join -U Administrator
Вводим пароль администратора домена когда запросит
Active Directory Ubuntu 20 – Донастройка
Далее останавливаем и блокируем samba-ad-dc чтобы нидайбох чего не случилось.
sudo systemctl stop samba-ad-dc
sudo systemctl disable samba-ad-dc
Включаем необходимых демонов:
sudo systemctl enable smbd nmbd winbind
sudo systemctl restart smbd nmbd winbind
Перезагружаем машину
sudo reboot -h now
Наслаждаемся. Если что-то не работает пишите в комментариях, разберёмся
Незабываем ставить лайки, репосты, подписываться и писать в комментариях о своих достижениях или неудачах.