простой_способ_ввести_linux_в_домен

This is an old revision of the document!


Самый простой способ ввести Linux в домен

Всем привет!

Термин Microsoft Active Directory Domain Services включает в себя множество технологий, поэтому сразу уточню, в этой статье речь пойдет про использование контроллера домена только для аутентификации пользователей. То есть в финале, нужна возможность любому сотруднику предприятия сесть за любую рабочую станцию Linux используя свой логин и пароль.

Начиная с Windows 2000 Server для аутентификации пользователей используется протокол Kerberos, разработанный еще в 80-х годах прошлого столетия, работа которого ИМХО являет собой пример отличного программистского хака, в хорошем (изначальном:) смысле этого слова. В конце статьи есть ссылка на описание его работы, а сейчас уточню, что имеется несколько реализаций этого протокола и решение из этой статьи не привязано только к Microsoft Active Directory

IMG_1

Итак, на предприятии уже развернут контроллер домена, вероятнее всего - Microsoft Active Directory и перед нами рабочая станция Linux (примеры будут для Debian, но работать будет и в других дистрибутивах и, даже, в моей любимой FreeBSD:). Как ввести ее в домен?

Да очень просто:

student@debian:~$ sudo apt install krb5-user -y

В Debian даже не понадобится редактировать, но убедитесь, и, при необходимости укажите эти строки в файле конфигурации Kerberos клиента (достаточно только их)

student@debian:~$ sudo nano /etc/krb5.conf
[libdefaults]
        default_realm = BMSTU.RU

Вместо BMSTU.RU должно быть имя домена (Kerberos сферы) Вашего предприятия

И все, мы в домене:

student@debian:~$ kinit ivanovii
Password for ivanovii@BMSTU.RU:

student@debian:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: ivanovii@BMSTU.RU

Valid starting       Expires              Service principal
02/22/2023 00:09:13  02/22/2023 10:09:13  krbtgt/BMSTU.RU@BMSTU.RU
        renew until 02/23/2023 00:09:09

ivanovii - логин доменного пользователя, замените его на тот, который есть у Вас, можно даже использовать Administrator. В результате команды kinit была осуществлена аутентификация пользователя и получен Ticket-Granting Ticket (TGT) “билет на выдачу билетов” позволяющий, в дальнейшем, получить билеты на доступ к зарегистрированным в домене сервисам, реализуя таким образом технологию единого входа - single sign-on (SSO). Можно заканчивать статью :)

Постойте, но, например, в оснастке Active Directory Users and Computers никакой рабочей станции Linux не появилось, как же так? Да, действительно, контроллер домена по пруженному ничего не знает от нашей рабочей станции, фактически, наоборот, это наша рабочая станция, благодаря параметру default_realm = BMSTU.RU и соответствующим SRV записям в DNS

student@debian:~$ nslookup -q=SRV _kerberos._udp.bmstu.ru
Server:         195.19.33.202
Address:        195.19.33.202#53

Non-authoritative answer:
_kerberos._udp.bmstu.ru service = 1 0 88 kdc.bmstu.ru.

Authoritative answers can be found from:
kdc.bmstu.ru    internet address = 195.19.32.47

знает местоположение контроллера домена, и этого достаточно для работы с его Kerberos подсистемой. Для чего может понадобиться регистрация Linux системы в Active Directory и как это сделать - тема отдельной статьи, а мы вернемся к нашей задаче - вход доменной учетной записью в Linux систему

Оказвается, уже почти

Ссылки: Kerberos за 5 минут: знакомство с сетевой аутентификацией

простой_способ_ввести_linux_в_домен.1677045857.txt.gz · Last modified: 2023/02/22 09:04 by val