Добавляем Ubuntu в состав домена Windows

Ubuntu в домене Windows: боль, танцы с бубном и немного магии

Подключить Ubuntu к домену Windows — это как вытащить кролика из шляпы, только без шляпы, без кролика и без уверенности, что в конце вообще кто-то будет аплодировать. На бумаге вроде всё просто: ставим нужные пакеты, правим пару конфигов — и вуаля. А на практике? Ну как сказать… это скорее похоже на «победи босса, пройди квест, не сломай ничего важного».

Сценарий такой: есть старенький, но бодрый сервер на Windows Server 2008 R2, он у нас главный, контроллер домена, DNS-сервер и вообще царь и бог локальной сети. Имя у него — Server2008R2, домен — myserver.com, IP — 172.17.1.3. Есть ещё вторичный контроллер на той же винде, зовётся FileServer. Ну и наш герой — ноутбук на Ubuntu 11.04 (да, древний, но живой), который надо как-то впихнуть в этот виндовый рай.

Ubuntu в состав домена Windows
Ubuntu в состав домена Windows

С чего вообще начинается праздник

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

sudo apt-get install krb5-user ntp samba winbind
  • krb5-user — для работы с Kerberos, потому что Windows аутентифицируется именно через него.
  • ntp — без точного времени ничего не заработает, Kerberos обидится.
  • samba — основной мостик в мир SMB и доменов.
  • winbind — вот он и позволяет логиниться под пользователями из домена.

Казалось бы, ну установили — и всё. Но, спойлер: нет.

DNS, hostname и прочие радости конфигов

Вот тут начинается настройка вручную. Как по нотам, надо отредактировать:

/etc/resolv.conf

Впишем туда:

domain myserver.com
search myserver.com
nameserver 172.17.1.3

Затем в /etc/hostname пишем имя машины — LaptopUbuntu. И обязательно редактируем /etc/hosts, чтобы прописать IP и FQDN:

127.0.0.1 localhost
172.17.1.2 LaptopUbuntu.myserver.com LaptopUbuntu

Но есть подвох — DHCP. После ребута все правки могут банально слететь. Поэтому DHCP — в сад, ставим ручную настройку через Network Manager. Это реально важно.

Синхронизация времени: мелочь, без которой ничего не работает

Kerberos критично зависит от времени. Разница даже в пару минут — и вы не войдёте. Поэтому в /etc/ntp.conf прописываем:

server Server2008R2.myserver.com

И запускаем:

sudo /etc/init.d/ntp restart

Всё, теперь Ubuntu знает, какое сейчас время на сервере, и больше не ссорится с Kerberos.

Настройка Kerberos: строго по рецепту

Открываем /etc/krb5.conf и делаем красиво. Главное — соблюсти все отступы и регистр. Конфиг выглядит примерно так:

[libdefaults]
default_realm = MYSERVER.COM
...
[realms]
MYSERVER.COM = {
  kdc = SERVER2008R2
  kdc = FILESERVER
  ...
}
[domain_realm]
.domain.com = MYSERVER.COM
domain.com = MYSERVER.COM

Это и есть та магия, которая позволит вам получить Kerberos-токен. Кстати, проверить всё можно командой:

kinit имя_пользователя

Если всё хорошо — ничего не вылетит с ошибкой. Если плохо — будет ныть про тикеты, время, DNS или вообще непонятное.

Samba и Winbind — шаг за шагом

Теперь очередь /etc/samba/smb.conf. Тут надо навести порядок в секции [global]:

workgroup = MYSERVER.COM
realm = MYSERVER.COM
security = ADS
encrypt passwords = true
...и так далее

Проверяем через:

testparm

Если не ругается — идём дальше. Добавляем параметры Winbind:

idmap uid = 10000 - 40000
idmap gid = 10000 - 40000
winbind enum users = yes
winbind use default domain = yes
...и остальные

Перезапускаем всё подряд:

sudo /etc/init.d/winbind stop
sudo smbd restart
sudo /etc/init.d/winbind start

Финальный штрих — NSS и PAM

В /etc/nsswitch.conf дописываем в строки:

passwd: compat winbind
group: compat winbind

И ещё один штрих — в /etc/pam.d/common-session добавляем строку:

session optional pam_mkhomedir.so skel=/etc/skel/ umask=0077

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

Ну и что в итоге?

Ubuntu теперь часть домена Windows. Пользователи с Windows-сервера могут логиниться на ноутбуке под своими учетками, всё синхронизируется, доступы есть. Но путь к этому далёк от «в один клик». Это скорее «настройка на слабо», особенно если сталкиваешься с этим впервые.

Вывод: подключение Ubuntu к домену Windows — это не квантовая физика, но и не прогулка. Всё делается вручную, конфиги капризные, чуть что — и всё ломается. Но работает. А главное — после всей этой эпопеи появляется чувство, что победил систему. Потому что так и есть.

Nazario

Я — Nazario, тот самый человек, который больше десяти лет ковыряется в Linux и Windows системах не ради хобби, а потому что это — работа и жизнь. Всё, что вы читаете на Setiwik.ru, — это не пересказ справки из мануала, а результат десятков реальных кейсов, выстраданных конфигов и ночных перезагрузок.

Я не претендую на истину в последней инстанции. Но если мой опыт может кому-то упростить работу — значит, всё это не зря. Здесь нет «магии», только практика: от настроек сервера до неожиданных багов, которые не гуглятся с первого раза.

Setiwik.ru — это место, где IT становится чуть менее хаотичным. Заходите почаще — будем разбираться вместе.

Добавить комментарий