Ввод Slackware в домен Windows 2003

Материал из Слакваря

Перейти к: навигация, поиск
Эта статья находится в процессе написания.

Шпаргалка о том, как сделать Slackware членом домена Windows 2003 Active Directory.


Содержание

Постановка задачи

В наличии имеются локальная сеть, контроллер домена Windows 2003 Active Directory, машина со Slackware, которую нужно сделать членом домена.

На машине установлена Slackware-13.0 со всем необходимым для сборки и настроена сеть (эти вопросы в рамках настоящей статьи не рассматриваются. Да, это могут быть разные машины).

В примере использован домен test.loc, роль PDC исполняет контроллер домена dc1.test.loc, администратор домена admin@test.loc.

Сборка

Поддержка Kerberos

Существует несколько реализаций протокола Kerberos для Linux. Наиболее известными являются реализации MIT и Heimdal. Нужна только одна реализация. Обе реализации присутствуют на slackbuilds.org.


Сборка MIT Kerberos

Загружаем необходимое:

# mkdir ~/bld ; cd ~/bld
# wget http://slackbuilds.org/slackbuilds/13.0/network/krb5.tar.gz
# tar xf krb5.tar.gz
# cd krb5
# . krb5.info
# wget $DOWNLOAD

Можно поправить последнюю строку слакбилда (makepkg ...), заменив .tgz на .txz, для использования сжатия xz при сборке пакета.

Соберём и установим пакет:

# ./krb5.SlackBuild
# upgradepkg --install-new /tmp/krb5-$VERSION*.t?z


Сборка Heimdal

Загружаем необходимое:

# mkdir ~/bld ; cd ~/bld
# wget http://slackbuilds.org/slackbuilds/13.0/network/heimdal.tar.gz
# tar xf heimdal.tar.gz
# cd heimdal
# . heimdal.info
# wget $DOWNLOAD

Можно поправить последнюю строку слакбилда (makepkg ...), заменив .tgz на .txz, для использования сжатия xz при сборке пакета.

Соберём и установим пакет:

# ./heimdal.SlackBuild
# upgradepkg --install-new /tmp/heimdal-$VERSION*.t?z


Поддержка AD для Samba

Дистрибутивную Samba нужно пересобрать. Загружаем необходимое с зеркала Slackware, обратив внимание на то, что с момента выхода дистрибутива было обновление:

# mkdir -p ~/bld/samba ; cd ~/bld/samba
# wget ftp://mirror.yandex.ru/slackware/slackware-13.0/patches/source/samba/*
# chmod a+x samba.SlackBuild

Исправим слакбилд, добавив опции "--with-ads" "--with-krb5=/usr/kerberos" ("--with-krb5=/usr/heimdal" для heimdal) в вызов configure и "ads" к номеру билда:

BUILD=${BUILD:-1ads_slack13.0}
./configure \
...
  --with-ads \
  --with-krb5=/usr/kerberos \
  --build=$ARCH-slackware-linux

Примечание: если по каким-то причинам установка Kerberos была отложена до лучших времён, то уже пора, иначе сборка samba завершится неудачей.

Соберём и установим пакет:

# ./samba.SlackBuild
# upgradepkg --install-new /tmp/samba-*ads_*.t?z

Настройка

Настройка Kerberos

Создадим файл конфигурации Kerberos /etc/krb5.conf, подробности в man krb5.conf, регистр имеет значение, примерное содержимое:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = TEST.LOC
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes

[realms]
TEST.LOC = {
   kdc = dc1.test.loc
   admin_server = dc1.test.loc
   default_domain = test.loc
}

[domain_realm]
.kerberos.server = TEST.LOC
.test.loc = TEST.LOC

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

Инициализируем Kerberos:

# kinit admin@TEST.LOC
Password for admin@TEST.LOC:


Настройка Samba

Создадим заготовку файла конфигурации Samba /etc/samba/smb.conf, подробности в man smb.conf, примерное содержимое:

[global]
  workgroup = TEST
  realm = TEST.LOC
  preferred master = no
  server string = Linux Test Machine
  security = ADS
  encrypt passwords = yes
  log level = 3
  log file = /var/log/samba/%m
  max log size = 50
  printcap name = cups
  printing = cups
  winbind enum users = yes
  winbind enum groups = yes
  winbind use default domain = yes
  winbind nested groups = yes
  winbind separator = +
  idmap uid = 600-20000
  idmap gid = 600-20000
  ;template primary group = "Domain Users"
  template shell = /bin/bash

Проверяем исправность файла конфигурации:

# testparm

Вводим машину в домен:

# net ads join -U admin
Enter admin's password:
Using short domain name -- TEST
Joined 'W-SLACK' to realm 'TEST.LOC'

Проверяем:

# net ads testjoin
Join is OK

Проверяем доступность доменных пользователей и групп:

# /usr/sbin/winbindd -D
# wbinfo -g
# wbinfo -u

Вносим запуск "/usr/sbin/winbindd -D" в /etc/rc.d/rc.local или /etc/rc.d/rc.samba или ...


Где взять готовые пакеты?

По ссылке http://ifolder.ru/16759379 можно загрузить архив samba-ads-slack13.tar (16.37 Мб), с собранными для Slackware-13.0 krb5 от MIT, samba с поддержкой ads, примерные файлы конфигурации:

  • krb5-1.7-i486-2_SBo.txz
  • samba-3.2.15-i486-1ads_slack13.0.txz
  • /etc/krb5.conf
  • /etc/samba/smb.conf

Ссылки

http://wiki.samba.org/index.php/Samba_&_Active_Directory

Личные инструменты