Samba+ldap как PDC (Обзор)



Предисловие

Эта статья рассказ о том с какими проблема я столкнулся при создании
Домена на FreeBSD. И стоит ли вообще поднимать домен на Unix?

И так начнем...

Для начала я установил 2е машины FreeBSD и Windows XP машины находились в одной сети.

Собственно установка прошла без проблем. После чего я решил поставить ldap из портов (тут то все и началось). Сам openldap встал из портов без проблем (cd /usr/ports/net/openldap23-server/). А вот запустить его с первого раза мне не удалось, он упорно выдавал мне ошибку "Urecognized database ldbm". Два часа плясок с бумном результатов не давали, модуль ldbm грузиться не хотел. Погуглив, я нашел инфу о том, что начиная с версии 2.3.x формат дефолтной база данных в лдапе был заменен с ldbm на dbd. Изменив в конфе формат базы, лдап все таки загрузился. Но, это не принесло мне ни какого положительного эффекта, так как мне нужно было создать корневой объект. В базе данных формата ldbm это делается с помощью файла *.ldif

ldapadd -x -D "cn=root,dc=Собственно имя домена,dc=корнефая зона (ru,com,local)" -w password -f *.ldif

Сам формат файла *.ldif достаточно прост

dn: dc=Собственно имя домена,dc=корнефая зона (ru,com,local)
objectClass: dcObject
objectClass: organization
objectClass: top
dc: Собственно имя домена
o: Собственно имя домена

далее идет описание групп...

А поскольку у меня база была формата dbd файл ldif в базу не вносился. Инфу о формате файла конфигуратора базы dbd я не нашел (или плохо искал :)). Последний взгляд на конфиг лдапа slapd.conf. Привлек мое внимание тем, что параметр загрузки модуля поддержки базы данных dbd в кофиге находился в начале, а мой через пробел:

|
|moduleload back_dbd
| moduleload back_ldbm
|

Поправив конф я попытался его загрузить, и о чудо все заработало. Файл конфигуратор *.ldif то же внесся в лдап без проблем.

Теперь надо было научить Фряху получать пользователей из лдапа. Для этого служит небольшая программа nss_ldap. И тут меня ждала вторая
проблема.

cd /usr/ports/net/nss_ldap/
make install clean && rehash

Фряха отказалась его качать. Пришлось качать его ручками и через фтпшник бросать в distfiles. После чего я запустил установку повторно. Фряха
выдала ошибку, что размер файла не соответствует. Надо обновлять порты...

Еще час установки cvsup с portupgrade (хотя они и позволяют точечно обновлять порты) меня бы убили :)

Поэтому сначала хотел поставить из pkg, а потом решил не гемороется и запустил утилитку

portsnap fetch update

Через 15мин у меня были новые порты а трафик поднялся на 60 Мб :)
Еще раз make install и nss_ldap встал в систему.
Настройка утилитки прошла без особых нареканий, все заработало и Фряха стала видеть пользователей лдара. Для этого я подредактировал
nsswitch.conf.

Samba тоже установилась без приключений. Конфиг был настроен и запустился с первого раза.

Пришло время добавлять машины в домен. XP влетел в домен не ругаясь.

А вот когда я попытался авторизизоваться под пользователем, винда не нашла профиль. Пошаманив с smb.conf проблема была решена.

Далее я решил настроить управление самбой через стандартную микрософтскую утилитку управления доменами, скаченную с Микрософт. Для
этого пришлось модернизировать smb.conf и поставить /usr/ports/net/ldapscripts/.

Выводы.

В принципе очень не плохая замена виндового домена. Огорчает только отсутствие политик, хотя это и решается с помощью vbs скриптов
(Вооружаемся книжкой и вперед). Так же мне так и не удалось создать перемещаемый профиль пользователя (хотя наверное это не проблема
самбы, скорее мои руки). Еще к минусам можно отнести, сложность установки и время.

Не смотря на все это, самбу реально можно использовать в небольших офисах около 30ти машин (так как разобраться в smb.conf состоящим из 4х
листов еще можно).

Обновлено: 12.03.2015