Настройка kerberos linux active directory

Ввод в Active Directory Ubuntu 20 с Winbind

Ввод в 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 которая только только установлена.

Подготовка

Для начала необходимо обновить систему

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

Не важно что вы укажете когда установщик спросит область kerberos, файл krb5.conf будет подменён.

После того как установка закончится, блокируем перезапись NetwotkManager’ом файла resolv.conf

И в раздел main добавляем новую строку

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

Перенастраиваем файл hosts

И заменяем строку начинающуюся со 127.0.1.1 на

Здесь мы сталкиваемся с проблемой связанной с тем что в файле hosts должен быть алиас ip адреса и имени хоста. Так что мы теряем мобильность хоста и необходимо на DHCP сервере прописать статическую аренду для этого хоста.

Настраиваем ntp клиент

Открываем на редактирование файл конфигурации

И указываем ntp клиенту сервер времени нашего контроллера домена:

После чего перезапускаем ntp демона

После чего нам необходимо настроить Kerberos изменив файл /etc/krb5.conf

Ввод в Active Directory Ubuntu 20 – Настройка kerberos

Переименовываем существующий файл krb5.conf

И на его месте создаём новый файл, сохранив в нём следующие настройки:

Active Directory Ubuntu 20 – Настройка SAMBA

Теперь настраиваем SAMBA, сперва переименовав файл smb.conf и создав на его месте новый.

Вставляем туда следующее содержимое:

Создаём файл /etc/samba/user.map

Редактируем файл limits.conf

Редактируем файл nsswitch.conf

Строки group и passwd приводим к следующему виду:

в конец добавляем следующую строку:

И записываем в него следующее содержимое:

Читайте также:  Отформатировать диск при установке linux

Вводим пароль администратора домена когда запросит

Active Directory Ubuntu 20 – Донастройка

Далее останавливаем и блокируем samba-ad-dc чтобы нидайбох чего не случилось.

Включаем необходимых демонов:

Наслаждаемся. Если что-то не работает пишите в комментариях, разберёмся

Незабываем ставить лайки, репосты, подписываться и писать в комментариях о своих достижениях или неудачах.

Источник

Linux машина в домене Windows AD с помощью sssd и krb5

Была необходимость ввести в домен Windows машину с Ubuntu. Для этих целей обычно используют Samba и Winbind. Но возможен альтернативный вариант с sssd, краткое руководство по нему ниже.

Для примера будем использовать:

Домен = contoso.com
Контроллер домена = dc.contoso.com

Запускаем терминал Ubuntu:

2. Устанавливаем необходимые пакеты

apt install sssd heimdal-clients msktutil

3. Редактируем /etc/krb5.conf, в качестве отступов используется табуляция

[libdefaults] default_realm = CONTOSO.COM [realms] CONTOSO.COM = < kdc = DC admin_server = dc.contoso.com default_domain = contoso.com >[login] krb4_convert = true krb4_get_tickets = false [domain_realm] .contoso.com = CONTOSO.COM contoso.com = CONTOSO.COM

4. Редактируем файл /etc/hosts, указываем FQDN для данного хоста:

127.0.0.1 localhost 127.0.1.1 .contoso.com

5. Пробуем получить Kerberos ticket от имени администратора домена:

root@ubuntu:~# kinit YourDomainAdmin YourDomainAdmin@CONTOSO.COM's Password:
root@ubuntu:~# klist Credentials cache: FILE:/tmp/krb5cc_0 Principal: YourDomainAdmin@CONTOSO.COM Issued Expires Principal Dec 1 15:08:27 2018 Dec 2 01:08:22 2018 krbtgt/CONTOSO.COM@CONTOSO.COM

Если тикет получен успешно, то теперь можно сгенерировать Kerberos principals для данного хоста, регистр важен:

msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME.contoso.com -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com —user-creds-only msktutil -c -b 'CN=YourComputersOU' -s HOST/HOSTNAME -k /etc/sssd/HOSTNAME.keytab --computer-name HOSTNAME --upn HOSTNAME$ --server dc.contoso.com --user-creds-only 

Сейчас наш хост должен отобразиться в списке компьютеров в каталоге. Если все так — удаляем полученный Kerberos ticket:

6. Создаем файл /etc/sssd/sssd.conf со следующим содержимым:

[sssd] services = nss, pam config_file_version = 2 domains = contoso.com [nss] entry_negative_timeout = 0 debug_level = 3 [pam] debug_level = 3 [domain/contoso.com] debug_level = 3 ad_domain = contoso.com ad_server = dc.contoso.com enumerate = false id_provider = ad auth_provider = ad chpass_provider = ad access_provider = simple simple_allow_groups = users #каким группам разрешено логиниться, через запятую. Есть ограничение — названия групп должны быть с маленькой буквы. ldap_schema = ad ldap_id_mapping = true fallback_homedir = /home/%u default_shell = /bin/bash ldap_sasl_mech = gssapi ldap_sasl_authid = $ ldap_krb5_init_creds = true krb5_keytab = /etc/sssd/.keytab

Описание параметров конфигфайла sssd можно посмотреть тут

Читайте также:  Open source license linux

Устанавливаем права доступа для файла sssd.conf:

chmod 600 /etc/sssd/sssd.conf

Перезапускаем SSSD service

7. Редактируем настройки PAM

редактируем файл /etc/pam.d/common-session, после строки

session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel umask=0022

переопределить параметры через системные настройки PAM, вызываем

и отмечаем пункты sss auth и makehomdir. Это автоматически добавит
строчку выше в common-session и она не будет перезатерта при обновлении системы.

Теперь мы можем логиниться на машине доменными пользователями, которым разрешен вход.

P.S.: Можно дать права на использование sudo доменным группам. Используя visudo, редактируем файл /etc/sudoers, или лучше, как рекомендует maxzhurkin и iluvar, создаем новый файл в /etc/sudoers.d/ и редактируем его

visudo -f /etc/sudoers.d/ваш_файл

добавляем требуемую группу — например, Domain Admins (если в названии группы есть пробелы — их необходимо экранировать):

P.S.S.: Спасибо gotch за информацию о realmd. Очень удобно — если не нужны специфические настройки, то ввод машины в домен занимает, по сути, три (как заметил osipov_dv четыре) команды:

1. Устанавливаем нужные пакеты:

sudo apt install realmd samba-common-bin samba-libs sssd-tools krb5-user adcli
127.0.0.1 localhost 127.0.1.1 .contoso.com
realm discover contoso.com
sudo realm --verbose join contoso.com -U YourDomainAdmin --install=/

Дополнительный плюс данного варианта — сквозная авторизация на файловых ресурсах домена.

Для того чтоб при входе не указывать дополнительно к логину домен, можно добавить суффикс по умолчанию. В файле /etc/sssd/sssd.conf, в блоке [sssd] добавляем строку:

default_domain_suffix = contoso.com

Источник

Оцените статью
Adblock
detector