den
Старожил
Зарегистрирован: 31.01.2006 Сообщения: 13870 Откуда: Кировоград, Украина
|
|
|
|
Работа в среде Active Directory
Для объединения компьютеров в домены Widows 2000 Server использует схему, отличную от NT-доменов, которая называется Active Directory; эта схема обладает гораздо большей масштабируемостью и позволяет централизованно администрировать машины, входящие в домен. Active Directory базируется на протоколе авторизации Kerberos, при котором имя пользователя и пароль не передаются по сети, а используется механизм так называемых билетов, выдаваемых сервером на определённое время. Получив билет, машина, входящая в домен, может авторизоваться на других машинах домена без участия сервера.
Установка Samba
Samba 3.0, в отличие от более ранних версий Samba, имеет возможность работать в сетях Wndows, работающих в режиме Active Directory (или Windows 2000 native mode). Если требуется эта функциональность, следует установить пакет samba3-3.0 вместо samba-2.2.
Active Directory имеет другую схему именования доменов, компьютеров и пользователей, основанную на DNS. Допустим, существует сеть с именем my.firm.com и компьютерами host1.my.firm.com, host2.my.firm.com, host3.my.firm.com; тогда домен Active Directory будет называться my.firm.com, а пользователи Active Directory будут иметь имена вида user@my.firm.com.
Настройка
/etc/krb5.conf должен содержать по крайней мере следующие строки:
[realms]
MY.FIRM.COM = {
kdc = your.kerberos.server
}
где MY.FIRM.COM - имя домена (или “царства”, в терминологии Kerberos; задаётся обязательно в верхнем регистре), а your.kerberos.server— имя или IP-адрес KDC (Kerberos Domain Controller), аналог PDC (Primary Domain Controller) в доменах Windows NT— например, server.my.firm.com или 192.168.117.11.
Правильность указания параметров можно проверить, выполнив команду (замените имя пользователя на актуальное— например, administrator@MY.FIRM.COM):
# kinit username@REALM
и убедившись, что пароль был принят сервером. REALM всегда задаётся в верхнем регистре.
Вы также должны убедиться, что возможно получить имя KDC по его IP адресу (так называемый Reverse DNS lookup). Имя KDC должно либо совпадать с NetBIOS-именем компьютера (имя машины в сети Windows без указания домена) либо состоять из NetBIOS-имени и имени домена. Если получить имя KDC по адресу невозможно, вы получите ошибку “local error” при попытке войти в домен.
Если ваш DNS не поддерживает Reverse lookup либо KDC не зарегистрирован в DNS, вы можете указать соответствие IP-адреса и имени в /etc/hosts.
Редактирование /etc/samba/smb.conf
Для работы в Active Directory smb.conf должен содержать следующие параметры:
[global]
# Задаёт Kerberos realm, обычно совпадает с именем домена в
# верхнем регистре, например realm = MY.FIRM.COM
realm = <REALM>
# Это обычно часть реалма до первой точки, например
# workgroup = MY
workgroup = <WORKGROUP>
# Тип домена - Active Directory.
security = ADS
# В случае Active Directory пароли всегда шифруются.
encrypt passwords = true
# Обычно этот параметр указывать не обязательно, т.к. Samba сама
# определяет адрес KDC, если в сети есть WINS-сервер и он указан
# в smb.conf
ads server = <your.kerberos.server>
Регистрация компьютера в Active Directory домене
Убедитесь что Samba не запущена. Если запущена, её нужно остановить:
# service smb stop; service winbind stop
Чтобы включить компьютер в домен, выполните команду:
# net ads join -U administrator
где administrator— имя пользователя домена, имеющего право создавать новые учётные записи.
Если не было выдано сообщение об ошибке, то машина успешно зарегистрирована в домене— иначе проверьте правильность задания параметров в /etc/samba/smb.conf и /etc/krb5.conf. Убедитесь, что пользователь, указанный после -U в net ads join, имеет необходимые права на создание новых учётных записей.
Теперь можно запустить необходимые службы:
# service smb start; service winbind start
Проверка правильной работы в Active Directory
Для работы с компьютерами, зарегистрированными в Active Directory, не требуется указывать имя пользователя и пароль. Попробуйте выполнить команду:
$ smbclient -k -L <имя компьютера в домене>
Вы должны получить список доступных ресурсов, при этом smbclient не должен запрашивать имя пользователя и пароль.
Чтобы проверить, что доступ к ресурсам вашей машины возможен с других машин домена, вы можете попробовать выполнить все ту же команду:
$ smbclient -k -L <имя вашего компьютера в домене>
и получить список доступных ресурсов. Можно также попробовать открыть какой-нибудь ресурс на вышей машине с Windows-машины, входящей в домен. В любом случае имя пользователя и пароль запрашиваться не должны.
Некоторые особенности работы в Active Directory
В отличие от доменов Windows NT, авторизация в Active Directory производится не по имени и паролю, а c помощью билетов протокола Kerberos. Из-за этого работа с smbclient может поначалу показаться необычной.
Во-первых, при вызове smbclient нужно указывать параметр -k. Во-вторых, билеты Kerberos даются на определённое время (обычно на сутки, но это зависит от настроек сервера). Поэтому их нужно периодически обновлять с помощью команды kinit:
# kinit username@REALM
где username— ваше имя в Actiev Directory домене REALM.
Так что если smbclient вдруг перестаёт подключаться к доменным ресурсам, попробуйте обновить билет— скорее всего, дело именно в этом. |
|