Как настроить Samba 2.2 в качестве Основного Контроллера Домена (Primary Domain Controller)

Этот документ - комбинация Samba 2.2 PDC HOWTO Девида Бэннона (David Bannon) и Samba NT Domain FAQ.

[Автор неизвестен]

Как настроить Samba 2.2 в качестве Основного Контроллера Домена (Primary Domain Controller)

Предпосылки.

Замечание: Авторская заметка: Этот документ - комбинация David Bannon's Samba 2.2 PDC HOWTO и Samba NT Domain FAQ, и заменяет их оба.

Samba версий ранее 2.2 содержала начальные возможности для выступления в роли Windows NT 4.0 Primary Domain Controller (PDC). Начиная с Samba 2.2.0, мы с гордостью сообщаем официальную поддержку Windows NT 4.0 стиля вхождения в домен, для клиентов начиная с Windows NT 4.0 (вплоть до SP6) и заканчивая Windows 2000 (вплоть до SP1). Эта статья в общих чертах обрисует необходимые шаги для настройки PDC на Samba. Перед реализацией функций PDC необходимо иметь работающий Samba сервер. Если вы не следовали шагам, описанным в UNIX_INSTALL.html, то перед тем как продолжать проверьте, что ваш сервер правильно настроен. Еще один хороший ресурс - man-страница smb.conf(5). В версии 2.2 должны работать следующие функции:

  • вхождение в домен клиентов Windows NT 4.0/2000.

  • перевод Windows 9x клиентов в пользовательский режим безопасности

  • получение клиентами Windows 9x/NT/2000 списка пользователей и групп с Samba PDC

  • перемещаемые профили пользователей

  • системные политики стиля Windows NT 4.0

Клиенты Windows 2000 Service Pack 2

для реализации функций PDC при работе с Windows 2000 SP2 клиентами требуется Samba 2.2.1

Следующие функции не реализованы в выпуске 2.2:

  • доверительные отношения между доменами Windows NT 4

  • репликация SAM с контроллерами домена Windows NT 4.0 (т.е. Samba - PDC, а Windows NT - BDC или наоборот)

  • добавление пользователей посредством User Manager for Domains

  • выполнение роли Windows 2000 Domain Controller (т.е. Kerberos и Active Directory)

Заметьте, что Windows 9x клиенты не являются действительными членами домена по причинам, описанным в этой статье. Таким образом, протокол поддержки Windows 9x стиля вхождений в домен отличен от вхождения в сеть NT4, и официально поддерживался некоторое время.

По существу, реализация Samba PDC может быть разделена на два больших шага.

  1. Настройка Samba PDC

  2. Создание доверенных бюджетов машин и подключение клиентов к домену

Также есть некоторые второстепенные детали, такие как профили пользователей, системные политики, и так далее... Однако, это все они не обязательно относятся к Samba PDC, поскольку они относятся к сетевым концепциям Windows NT. Они будут упоминаться здесь только вскользь.

Настройка контроллера домена на Samba

Первым шагом в установке работающего Samba PDC является понимание необходимых параметров в smb.conf. Я не буду тут их объяснять, так как они более чем достаточно рассмотрены в man странице smb.conf. Для удобства, в smb.conf параметры были связаны с описаниями .

Вот пример smb.conf для работы в качестве PDC:

[global]
    ; основные настройки сервера
    netbios name = 
POGO

    workgroup = 
NARNIA


    ; мы должны выступать в роли domain и local master browser
    os level = 64
    preferred master = yes
    domain master = yes
    local master = yes
    
    ; настройки безопасности (настройка безопасности должна быть = user)    
    security = user
    
    ; для PDC требуется шифрование паролей
    encrypt passwords = yes
    
    ; поддержка domain logons
    domain logons = yes
    
    ; где помещать профили пользователей?
    logon path = \\%N\profiles\%u
    
    ; где домашние каталоги пользователей и где они должны быть смонтированы?
    logon drive = H:
    logon home = \\homeserver\%u
    
    ; указываем общий скрипт подключения для всех пользователей 
    ; это относительный **DOS** путь к [netlogon] ресурсу
    logon script = logon.cmd

; необходимый ресурс для контроллера домена 
[netlogon]
    path = /usr/local/samba/lib/netlogon
    writeable = no
    write list = 
ntadmin

    
; ресурс для размещения профилей пользователей    
[profiles]
    path = /export/smb/ntprofile
    writeable = yes
    create mask = 0600
    directory mask = 0700

Есть несколько моментов, которые необходимо выделить в вышеприведенной конфигурации.

  • Должно быть включено шифрование паролей. Более детально о том, как это сделать смотрите в ENCRYPTION.html.

  • Сервер должен поддерживать domain logons и ресурс [netlogon]

  • Для того чтобы клиенты Windows определяли сервер как контроллер домена, сервер должен быть главным обозревателем сети (domain master browser). Подробнее смотрите в различной поставляемой с этим дистрибутивом документацией по обзору сети.

Samba 2.2 не предоставляет полную реализацию отображения групп между группами Windows NT и группами UNIX (это достаточно сложно коротко объяснить), для информации о создании пользовательских бюджетов в стиле Domain Admins вы должны свериться с параметром domain admin users файла smb.conf.

Создание доверенных бюджетов машин и подключение клиентов к домену

Доверенный бюджет машины - бюджет пользователя samba, владелец которого - компьютер. Пароль этого бюджета выступает в роли разделяемого секрета для безопасной связи с контроллером домена. Это свойство безопасности для предотвращения подключению к домену и получения доступа к пользовательским/групповым бюджетам, не уполномоченным машинам с таким же NetBIOS именем. Следовательно, Windows 9x компьютер никогда не является истинным членом домена, так как он не обладает доверенным бюджетом машины, и, таким образом, не имеет разделяемого с контроллером домена секрета.

На Windows NT PDC, пароли доверенных бюджетов машин хранятся в реестре. Samba PDC хранит эти бюджеты вместе с хешами LanMan и NT паролей (в настоящее время smbpasswd). Однако доверенные бюджеты машин владеют и используют только хеш пароля NT.

Так как Samba требует, чтобы бюджеты машин обрабатывали UNIX uid, из которого может быть сгенерирован NT SID, все эти бюджеты должны содержать элемент в /etc/passwd и smbpasswd. Будущие выпуски будут облегчать необходимость создания элементов /etc/passwd.

Есть два способа создания доверенных бюджетов машин:

  • Создать вручную для подключения клиентов к домену. В этом случае, пароль устанавливается на известное значение - NetBIOS имя машины в нижнем регистре.

  • Создать бюджет во время подключения домена. В этом случае, ключ сессии административного бюджета, используемого для подключения клиента к домену, выступает в роли ключа шифра для установки пароля в случайное значение (Это рекомендуемый метод).

Создание доверенного бюджета машины вручную

Первый шаг создания доверенного бюджета машины вручную состоит в создании элемента для машины в /etc/passwd. Это может быть сделано с помощью vipw или любой из команд добавления пользователя, которые обычно используются для создания бюджетов пользователей UNIX. Вот пример для Samba сервера на основе Linux:

root# /usr/sbin/useradd -g 100 -d /dev/null -c "machine nickname" -s /bin/false machine_name $

root# passwd -l machine_name $

Элемент /etc/passwd должен содержать имя машины с добавленным $, без пароля, должен иметь null оболочку и без домашнего каталога. Например, машина с именем 'doppy' будет иметь такую запись в файле /etc/passwd:

doppy$:x:505:501:
machine_nickname
:/dev/null:/bin/false

Выше, machine_nickname может быть любым описательным именем компьютера, например, BasementComputer. machine_name должно быть NetBIOS именем добавляемого в домен компьютера. В конец NetBIOS имени компьютера должен быть добавлен "$", иначе samba не распознает этот бюджет машины.

После создания UNIX бюджета следующим шагом будет создание элемента машины в smbpasswd содержащего хорошо известный начальный пароль доверенного бюджета. Это можно сделать с помощью команды smbpasswd(8) как показано ниже:

root# smbpasswd -a -m machine_name

где machine_name - NetBIOS имя машины.

Непосредственное подключение клиента к домену

Ручное создание доверенного бюджета машины таким способом эквивалентно созданию бюджета машины на Windows NT PDC, используя "Server Manager". Со времени создания бюджета до того времени, когда клиент подключится к домену и изменит свой пароль, ваш домен уязвим для взломщика, подключающегося к домену используя машину, с таким же NetBIOS именем. PDC свойственно доверять членам домена, и он будет выдавать большую часть пользовательской информации таким клиентам. Вы предупреждены!

Создание доверенных бюджетов машин "на лету"

Второй, и наиболее предпочтительный путь создания доверенных бюджетов машин состоит в создании их во время подключения клиента к домену. Вам необходимо указать значение параметра add user script. Ниже приводится пример для системы RedHat 6.2 Linux.

add user script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u 

В Samba 2.2.1, для создания бюджетов таким способом может использоваться только бюджет пользователя root. Таким образом, требуется создать элемент в smbpasswd и для root. По соображениям безопасности пароль ДОЛЖЕН быть иным, нежели в элементе файла /etc/passwd.

Общие проблемы и ошибки

  • Я не могу включить '$' в имя машины.

    'machine_name' в /etc/passwd (обычно) - имя машины с добавленным '$'. FreeBSD (и прочие BSD системы?) отказываются создавать пользователя со знаком '$' в имени.

    Проблема только в используемой для создания элемента программе, если добавление сделано - все работает замечательно. Так что создайте пользователя без '$' и для добавления '$'используйте vipw. Либо, если пожелаете, создайте весь элемент с помощью vipw, но проверьте, чтобы у него был уникальный uid!

  • При создании бюджета машины я получаю "You already have a connection to the Domain...." или "Cannot join domain, the credentials supplied conflict with an existing set..".

    Это происходит, если вы создаете бюджет машины с этой же самой машины и уже установили соединение (например, сетевой диск) с ресурсом (или IPC$) на Samba PDC. Следующая команда удалит все сетевые дисковые подключения:

    C:\WINNT\> net use * /d

    Если машина уже 'член рабочей группы', с тем же именем, что и домен, к которому вы подключаетесь, (плохая идея), вы также будете получать это сообщение. Измените имя рабочей группы на какое-либо другое, неважно какое, перезагрузитесь и попробуйте снова.

  • The system can not log you on (C000019B)...

    Я успешно подключился к домену, но после обновления Samba на более новую версию при попытках подключиться я получаю сообщение, "The system can not log you on (C000019B), Please try a gain or consult your system administrator".

    Это происходит, когда изменяется размещенный в private/WORKGROUP.SID SID домена. Например, вы удалили файл, и smbd автоматически создает новый. Либо вы переключаетесь вперед и назад между текущей версией, версией 2.0.7, и ветвями кода TNG и HEAD (не рекомендуется). Единственный путь устранить эту проблему состоит в восстановлении оригинального SID или удалении клиента и пере-подключении клиента к домену.

  • Бюджет машины для этого компьютера либо не существует, либо не доступен.

    Когда я пытаюсь подключиться к домену, я получаю сообщение "The machine account for this computer either does not exist or is not accessible". Что не так?

    Проблема вызвана тем, что PDC не имеет соответствующего бюджета машины. Если для создания бюджетов вы используете метод add user script , то это может означать, что он не работает. Проверьте работоспособность пользовательской системы администрирования домена.

    Если же вы создаете элементы бюджета вручную, то они были неправильно созданы. Проверьте правильность элемента бюджета машины в файле smbpasswd на Samba PDC. Если вы добавили бюджет, используя редактор, а не утилиту smbpasswd, проверьте, чтобы имя бюджета было NetBIOS именем с добавленным к нему знаком '$'(т.е. computer_name$). Должны быть элементы как в файле /etc/passwd, так и в файле smbpasswd. Некоторые люди сообщают, что эту проблему могут вызывать несовместимые маски подсети межу Samba сервером и NT клиентами. Проверьте их согласование между клиентом и сервером.

  • Когда я пытаюсь войти в домен Samba с рабочей станции NT4/W2K, я получаю сообщение о том, что мой бюджет заблокирован.

    Эта проблема вызывается ошибкой связанной с PAM в Samba 2.2.0. Эта ошибка устранена в 2.2.1. Другими симптомами могут быть недоступность ресурсов на серверах NT/W2K являющихся членами домена, либо следующая ошибка в вашем smbd.log: passdb/pampass.c:pam_account(268) PAM: UNKNOWN ERROR for User: %user%

    Сначала проверьте с помощью smbpasswd -e %user% разрешен ли бюджет, обычно он разрешается при создании бюджета.

    Для обхождения этой проблемы в 2.2.0, настройте управляющий флаг account в файле /etc/pam.d/samba как показано ниже:

     account required        pam_permit.so
     

    Если вы желаете сохранить обратную совместимость с samba 2.0.x используйте pam_permit.so, также возможно использовать pam_pwdb.so. В pam_unix.so есть несколько ошибок, если он вам нужен, проверьте, что у вас самая последняя версия этого файла.

Системные политики и профили

Большая часть необходимой информации для реализации в Samba домене Системных Политик и Перемещаемых Профилей такая же, как и для реализации их на Windows NT 4.0 домене. Вы должны прочесть станицу Реализация Профилей и Политик в Windows NT 4.0 от Microsoft.

Вот некоторые дополнительные детали:

  • Как насчет Редактора Политик Windows NT?

    Для создания или редактирования ntconfig.pol вы должны использовать NT Server Policy Editor, poledit.exe который поставляется с NT Server, но не NT с Workstation. В ней есть Редактор Политик на NTws, но он не годится для создания Политик Домена. Далее, хотя Редактор Политик Windows 95 может быть установлен на NT Workstation/Server, он не будет работать с политиками NT из-за ключа реестра, который устанавливается шаблонами политик. Однако, файлы с NT Server будут успешно работать на NTws. Вам необходимы poledit.exe, common.adm и winnt.adm. Будет удобно поместить оба *.adm файла в c:\winnt\inf, где их по умолчанию будут искать программы. Обратите внимание, что этот каталог 'скрытый'.

    Редактор политик Windows NT также включен в Service Pack 3 (и выше) для Windows NT 4.0. Распакуйте файлы с помощью servicepackname /x, т.е. для ServicePack6a - Nt4sp6ai.exe /x. Вместе с редактором политики poledit.exe, также должны быть распакованы и связанные с ним файлы шаблонов (*.adm). Также возможно загрузить файлы шаблонов политик для Office97 и взять копию редактора политик. Другое возможное расположение - в Zero Administration Kit, он доступен для загрузки на Microsoft.

  • Может ли Win95 работать с Политиками?

    Для работы политиками групп установите обработчик политик групп для Win9x. Взгляните на Win98 CD в \tools\reskit\netadmin\poledit. Двойным щелчком на grouppol.inf установите политики групп на Win9x клиенте. Выйдите и зарегистрируйтесь снова несколько раз и посмотрите, подхватила ли Win98 политики групп. К несчастью это должно быть сделано на каждой Win9x машине, которой требуются групповые политики....

    Если политики групп не работают, некоторые люди предлагают получить обновленный (читайте: работающий) grouppol.dll для Windows 9x. Список групп берется из /etc/group.

  • Как мне получить 'User Manager' и 'Server Manager'

    так как теперь не требуется покупать CD-диск с NT Server, как мне получить 'User Manager for Domains', и 'Server Manager'?

    Для установки на Windows 95 системы Microsoft распространяет версию этих утилит, называемую nexus. Набор утилит включает:

    • Server Manager

    • User Manager for Domains

    • Event Viewer

    Для загрузки файла архива щелкните на ftp://ftp.microsoft.com/Softlib/MSLFILES/NEXUS.EXE

    Windows NT 4.0 версия 'User Manager for Domains' и 'Server Manager' доступна с Microsoft по ftp с ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE

Какую еще помощь я могу получить?

Есть много источников информации доступных из почтовых рассылок, RFC и документации. Документация, поставляемая с дистрибутивом samba, содержит очень хорошее объяснение общих вопросов по SMB, таких как обзор сети.

  • Как получить помощь из почтовых рассылок?

    Есть несколько почтовых рассылок связанных с Samba. Сходите на http://samba.org, щелкните на ближайшее зеркало и затем на Support и затем щелкните на Samba related mailing lists.

    Для вопросов относящихся к Samba TNG сходите на http://www.samba-tng.org/. Не посылайте вопросы о Samba-TNG в главный список рассылки по Samba.

    Если вы посылаете сообщение в один из списков, пожалуйста, изучите следующие строки:

    • Помните, что все разработчики - добровольцы, им не платят, и они не гарантируют сделать заданное свойство в заданное время. В любом случае их строки являются 'лучшей догадкой', но не более.

    • Всегда помните, какую версию samba вы используете, и на какой операционной системе запускаете. Вы вероятно должны привести соответствующие секции вашего файла smb.conf, по крайней мере, опции в [global], которые влияют на поддержку PDC.

    • В дополнение к версии, если вы получили Samba из CVS, помните дату, когда вы последний раз посещали CVS.

    • Пытайтесь сделать ваши вопросы понятнее и короче, большинство длинных, закрученных вопросов удаляются перед тем, как их дочитали до конца! Не посылайте сообщения в формате html (если вы можете выбрать цвет и размер шрифта - это html).

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

    • Не посылайте вопрос сразу в несколько списков. Подумайте о том, какой список лучше подходит для отправки вопроса о вашей ситуации, например не пишите сразу, и в samba-ntdom, и в samba-technical. Многие активные участники списков подписаны более чем на один список, и их раздражает видеть одно и то же сообщение два или более раз. Часто кто-то видит сообщение и думает, что кто-то другой смог бы лучше ответить на ваш вопрос, и он перешлет ему ваше сообщение.

    • Вы можете включить в сообщение частичную запись отладочной информации с уровнем отладки даже на 20. Но, пожалуйста, не посылайте всю вашу отладочную информацию, а достаточную ее часть, относящуюся к сообщениям об ошибках.

    • (Возможно) Если у вас есть полный регистрационный файл созданный netmon (от открытия канала (pipe) до ошибки) вы также можете послать *.CAP файл.

    • Пожалуйста, внимательно подумайте перед прикреплением к письму документа. Продумайте включение относящейся к делу части в тело сообщения. Почтовые списки samba ходят к огромному количеству людей, нужна ли им всем копия вашего smb.conf в их каталоге с прикрепленными файлами?

  • Как мне отключиться от почтовых списков?

    Чтобы убрать ваше имя из почтовых списков samba, сходите на то же место где вы подписывались на них. Сходите на http://lists.samba.org, щелкните на ближайшее зеркало, затем щелкните на Support и затем щелкните на Samba related mailing lists. Или загляните сюда

    Пожалуйста, не посылайте сообщения в списки с просьбами об удалении, вас просто направят на вышеуказанные адреса (если этот процесс каким-либо образом не отказал...)

Управление Доменом для Windows 9x/ME

Замечание: Следующая секция содержит многое из содержимого файла DOMAIN.txt, ранее поставлявшегося с Samba. Большая часть материала основана на содержимом книги Special Edition, Using Samba. (Richard Sharpe)

В терминах обзора сети домен и рабочая группа - одно и то же. Различие в том, что с доменом связана распределенная база данных идентификации, для безопасного доступа к сети. Также, если пользователи успешно прошли регистрационный сервер домена (его поддерживают NT server и другие системы, основанные на NT server, так же сейчас делает, по крайней мере, Samba TNG), им могут быть делегированы различные права доступа.

SMB клиент, входя в домен, ожидает, что все прочие сервера домена должны признавать ту же самую идентификационную информацию. Функции обзора сети для домена и рабочих групп идентичны и объясняются в BROWSING.txt. Нужно заметить, что обзор полностью ортогонален к поддержке вхождения в систему.

В этом документе обсуждаются решения, относящиеся к модели сети с одним вхождением. Samba поддерживает вхождение в домен, сценарии вхождения в сеть, и профили пользователей для клиентов MS Windows for workgroups и MS Windows 9X.

Когда SMB клиент хочет войти в домен, он посылает широковещательные запросы на регистрационный сервер. Тот отвечает и проверяет его пароль, используя какой бы то ни было механизм, установленный администратором Samba. Можно (но очень глупо) создать домен, где база данных пользователей не разделяется между серверами, например, они фактически сервера рабочей группы объявляющие себя участниками домена. Это показывает, что идентификация достаточно отличается, но тесно связана с доменами.

Еще одна вещь, часто связываемая с одним вхождением в сеть - удаленное администрирование по SMB протоколу. Опять, нет причины, по какой это не может быть реализовано с нижележащей базой данных пользователей, что отличается от Windows NT SAM. Поддержка протокола удаленного администрирования планируется в будущих выпусках Samba.

Вхождение в сеть, как обсуждается в этой секции, имеет в виду клиентов Window for Workgroups и Windows 9X.

Поддержка профилей заявлена как работающая для Win95, NT 4.0 и NT 3.51. Можно указать: расположение профиля; файл сценария для загрузки при входе; домашний каталог пользователя; и для NT время умирания теперь также может проще поддерживаться. Однако, есть несколько отличий между поддержкой профилей в Win9X и поддержкой профилей в WinNT. Они обсуждаются ниже.

При работе с NT Workstation, не требуется использования или вмешательства NT 4.0 или NT 3.51 сервера: Samba теперь может заменить предоставляемые NT сервером службы вхождения в домен, в ограниченной и экспериментальной степени (например, запуск "User Manager for Domains" не предоставит вам доступ к домену созданному Samba сервером).

При работе с Win95, можно заручиться помощью NT сервера, как для размещения профилей, так и для идентификации пользователей. Детальнее об идентификации пользователей, смотрите security_level.txt. Детальнее о размещении профилей смотрите ниже.

Используя эти свойства, вы можете сделать проверку вхождения клиентов в сеть с помощью Samba сервера; при вхождении клиентов запускать пакетный файл и загружать их предпочтения, рабочий стол и стартовое меню.

Перед погружением в инструкции по настройке, стоит потратить время и взглянуть на то, как Win9X клиент выполняет регистрацию:

  1. Клиент посылает широковещательный NetLogon запрос (на широковещательный IP адрес подсети). Он посылается на NetBIOS адрес DOMAIN<00> на NetBIOS уровне. Клиент выбирает первый полученный ответ, который содержит NetBIOS имя регистрационного сервера для использования в формате \\SERVER.

  2. Затем клиент подключается к этому серверу, заходит на него (выполняет SMBsessetupX) и после подключается к ресурсу IPC$ (используя SMBtconX).

  3. Затем клиент делает NetWkstaUserLogon запрос, который возвращает имя пользовательского сценария входа.

  4. Затем клиент подключается к ресурсу NetLogon и ищет его, и если он его находит и может прочесть, он возвращается клиенту и выполняется. После чего, клиент отключается от ресурса NetLogon.

  5. Затем клиент посылает серверу NetUserGetInfo запрос, для получения ресурса домашнего каталога, который используется для поиска профилей. Так как ответ на NetUserGetInfo запрос больше не содержит ресурса с домашним каталогом, профили для клиентов Win9X ДОЛЖНЫ находиться в домашнем каталоге пользователя.

  6. Затем клиент подключается к ресурсу с домашним каталогом пользователя и ищет профиль пользователя. Вы можете указать ресурс с домашним каталогом как имя ресурса и путь. Например, \\server\fred\.profile. Если профили найдены, они выполняются.

  7. Затем клиент отсоединяется от ресурса с домашним каталогом и заново подключается к ресурсу NetLogon и ищет файл политик CONFIG.POL. Если он найден, он считывается и выполняется.

Инструкции по настройке: вход в сеть

Для использования вхождения в домен и профилей вам следует сделать следующее:

  1. В вашем smb.conf создать ресурс называемый [netlogon]. Этот ресурс должен быть доступен для чтения всем пользователям, и, возможно, не должен быть доступен для записи. Это ресурс будет содержать ваши стартовые сценарии, и файл CONFIG.POL. (Заметка: более детально о файле CONFIG.POL, о его использовании, и чем он является, смотрите в документации Microsoft Windows NT Administration. Формат этих файлов неизвестен, так что вам придется использовать утилиты от Microsoft)

    Например, я использую:

    [netlogon]
         path = /data/dos/netlogon
         writeable = no
         guest ok = no

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

  2. в секции [global] файла smb.conf установите следующее:

    domain logons = yes
    logon script = %U.bat
     

    Выбор пакетного файла, конечно, за вами. Вышеприведенное дает каждому пользователю отдельный пакетный файл, так как %U автоматически будет заменяться именем пользователя. Можно использовать другой стандартный % макрос. Вы можете использовать пакетные файлы из каталога с помощью чего-то вроде:

    logon script = scripts\%U.bat
     

  3. Для запуска при входе создайте пакетные файлы. Если пакетный файл не существует, то не будет запущен никакой пакетный файл.

    В пакетных файлах вам следует быть осторожными, используя окончания строк в DOS стиле - cr/lf. Если вы будете следовать этому правилу - DOS может быть сбит с толку. Если вы не знаете, как создавать файлы в DOS стиле под unix, то, я полагаю, вы используете DOS редактор для удаленного редактирования файлов.

  4. Чтобы проверить, что ресурс \\server\\NETLOGON доступен, используйте smbclient с ключом -U, пакетные фалы видны и доступны для чтения пользователям.

  5. Вероятно, вы обнаружили, что ваши клиенты автоматически при входе монтируют ресурс \\SERVER\NETLOGON как диск z: . Вы можете это использовать для запуска некоторых полезных программ из пакетных файлов.

Режим безопасности и главный обозреватель

Чтобы связать концы с концами нужно сделать несколько комментариев. Было много споров о том, требуется или нет настраивать контроллер домена на Samba с режимом безопасности иным, нежели USER. Единственный режим безопасности, который не работает по техническим причинам - режим безопасности SHARE. Режимы безопасности DOMAIN и SERVER обычно просто варианты режима безопасности SMB user.

Фактически, этот вопрос тесно связан с дискуссией, может ли Samba, когда работает как контроллер домена, не быть главным обозревателем сети для своих рабочих групп. Хотя таким образом настроить сервер технически возможно (в конце концов, обзор и вход в домен - две различные функции), делать так - плохая идея. Вы должны помнить, что контроллер домена должен зарегистрировать NetBIOS имя DOMAIN#1b. Это имя используется клиентами Windows для определения местонахождения контроллера домена. Клиенты Windows не делают различий между контроллером домена и главным обозревателем домена. По этой причине, будет очень разумно настроить контроллер домена Samba как главный обозреватель домена.

Теперь вернемся к вопросу настройки контроллера домена на Samba для использования иного режима, чем "security = user". Если компьютер с Samba для проверки законности пользовательских запросов настроен на использование другого SMB сервера или контроллера домена, тогда фактически некоторая другая машина в сети ("сервер паролей") знает больше о пользователе, чем Samba хост. 99% времени, этот другой компьютер и есть контроллер домена. Теперь в случае работы в domain режиме безопасности, параметр "workgroup" должен содержать имя Windows NT домена (который уже имеет контроллер домена, не так ли?)

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

Инструкции по настройке: Установка перемещаемых профилей пользователей

Внимание

ЗАМЕТЬТЕ! Поддержка перемещаемых профилей пользователей различается для Win9X и WinNT.

Перед обсуждением настройки перемещаемых профилей, полезно взглянуть на то, как реализуют основные свойства клиенты Win9X и WinNT.

Клиенты Win9X для определения расположения профиля пользователя посылают серверу NetUserGetInfo запрос. Однако, ответ не содержит места для отдельного поля с расположением профиля, только с именем домашнего ресурса пользователя. Это обозначает, что размещение профилей Win9X ограничено их домашним каталогом.

Клиенты WinNT посылают RPC запрос NetSAMLogon, который содержит много полей, включая отдельное поле для расположения профилей пользователей. Это означает, что поддержка профилей для Win9X и WinNT различается.

Настройка Windows 9X

Для поддержки Win9X клиентов, вы должны использовать параметр "logon home". Теперь samba подправлена так, что "net use/home" правильно работает, и, также, полагается на параметр "logon home".

Используя параметр logon home, вы ограничены помещением Win9X профилей в домашнем каталоге пользователей. Но подождите! Есть хитрость, которую вы можете использовать. Если вы установите следующее в [global] секции вашего smb.conf файла:

logon home = \\%L\%U\.profiles

то ваши Win9X клиенты будут послушно помещать свои профили в подкаталог вашего домашнего каталога с именем .profiles (таким образом, он делается скрытым).

Не только это, но и 'net use/home' также будет работать, из-за свойства Win9X. Таким образом, из области домашнего каталога удаляется вся часть с каталогом в конце и используется только часть с именем сервера и ресурса. То есть, все выглядит так, как будто Вы указали \\%L\%U для "logon home".

Установка профилей Windows 9X

Когда пользователь первый раз входит в Windows 9X, создается файл user.DAT, а также папки "Start Menu", "Desktop", "Programs" и "Nethood". При последующем вхождении, эти каталоги и их содержимое будет синхронизироваться с локальными версиями, расположенными в c:\windows\profiles\username, путем выбора самой последней версии. Для сохранения прописных букв в названиях ярлыков и в любой из папок профилей вам следует использовать в [global] опции "preserve case = yes", "short case preserve = yes" и "case sensitive = no".

Файл user.DAT содержит все пользовательские предпочтения. Если вы хотите использовать назначенный набор предпочтений, переименуйте их файл user.DAT в user.MAN, и запретите к этому файлу доступ на запись.

  1. На машине Windows 95, сходите в Панель Управления | Пользователи и выберите закладку Профили Пользователей. Выберите требуемый уровень перемещения предпочтений. Нажмите OK, но _не_ позволяйте компьютеру перезагружаться.

  2. На машине Windows 95, сходите в Панель Управления | Сеть | Клиент для сетей Microsoft | Свойства. Выберите 'Входить в домен NT'. Затем, проверьте, что Способ входа в сеть установлен на 'Клиент для сетей Microsoft'. Нажмите OK, и в этот раз позвольте компьютеру перезагрузиться.

Под Windows 95, профили загружаются в зависимости от значения указанного в Способе входа в сеть. Если у вас Способ входа в сеть: 'Клиент для сетей Novell', то профили и сценарий входа будут загружены с вашего Novell сервера. Если у вас Способ входа в сеть: 'Обычный вход в Windows', то профили будут загружаться с локальной машины - что немного противоречит концепции перемещаемых профилей.

Теперь вы заметите, что окно Microsoft Networks Login содержит [user, password, domain] вместо появлявшегося ранее [user, password]. Введите имя домена samba сервера (либо любого другого существующего домена, но запомните, что пользователь будет идентифицироваться в этом домене и, если сервер поддерживает загрузку профилей, из него же загружать профили), имя пользователя и пароль.

Как только пользователь был успешно идентифицирован, машина Windows 95 проинформирует что 'The user has not logged on before' и спросит, не хотите ли вы сохранить пользовательские предпочтения? Выберите "да".

Как только появится рабочий стол клиента Windows 95, вы сможете проверить содержимое каталога указанного в "logon path" на samba сервере и проверить, что были созданы папки "Desktop", "Start Menu", "Programs" и "Nethood".

Эти папки будут кэшированы на клиенте, и обновляться когда пользователь будет выходить из системы (если вы не ограничили доступ к ним на только-чтение :-). Вы обнаружите, что если после этого пользователь создает папки или ярлыки, то клиент будет сверять содержимое каталога профиля с локальным содержимым на клиенте, выбирая более новые версии папок и ярлыков из каждого набора.

Если вы на samba сервере сделали папки/файлы с доступом только-чтение, при входе и выходе на Win95 машине вы получите сообщение об ошибке, по мере того, как она будет пытаться синхронизировать локальный и удаленный профиль. И вообще, если w95 машина сообщает вам об ошибках, нужно проверить на samba сервере unix права доступа к файлам в каталоге профиля.

Если у вас проблемы с созданием профилей пользователей, вы можете сбросить кэш локального компьютера, как показано ниже. Когда этот пользователь войдет следующий раз, ему будет сказано, что он входит "первый раз".

  1. Вместо ввода в диалоговом окне значений [user, password, domain], нажмите escape.

  2. Запустите программу regedit.exe, и загляните в:

    HKEY_LOCAL_MACHINE\Windows\CurrentVersion\ProfileList

    вы найдете элемент для каждого пользователя в ProfilePath. Отметьте содержимое ключа (должно быть что-то вроде c:\windows\profiles\username), затем для требуемого пользователя удалите ключ ProfilePath.

    [Выйдите из редактора реестра].

  3. ВНИМАНИЕ - перед удалением содержимого каьалога указанного в ProfilePath (что-то наподобие c:\windows\profiles\username), спросите пользователя, нет ли у него каких-либо важных файлов на рабочем столе или в меню Пуск. Удалите содержимое каталога ProfilePath (если требуется сохранить какие-либо файлы, сделайте их резервную копию).

    Эффект будет такой, как от удаления в каталоге профиля локального (скрытого системного файла доступного только для чтения) user.DAT, а также локальных папок "desktop", "nethood", "start menu" и "programs".

  4. В каталоге c:\windows найдите и удалите .PWL файл с кэшем паролей пользователя.

  5. Выйдите из windows 95 клиента.

  6. Проверьте содержимое пути к профилю (смотрите описанный выше "logon path"), и удалите пользовательский файл user.DAT или user.MAN, сделав, при необходимости, его резервную копию.

Если все остальное оканчивается неудачно, увеличьте уровень отладки samba на значение от 3 до 10, и/или запустите программу трассировки пакетов, такую как tcpdump или netmon.exe, и ищите любые сообщения об ошибках.

Если у вас есть доступ к NT серверу, то сначаа установите перемещаемые профили и/или вхождение в сеть на NT сервере. Выполните трассировку пакетов, или проверьте пример трассировки пакетов предоставляемый NT сервером, и посмотрите различия с соответствующей трассой полученной при использовании samba.

Windows NT Workstation 4.0

Когда пользователь первый раз входит в Windows NT Workstation, создается профиль NTuser.DAT. Расположение профиля может быть указано через параметр "logon path".

Замечание: [lkcl 10aug97 - я пробовал установить путь на \\samba-server\homes\profile, и обнаружил, что это не срабатывает, так как фоновый процесс сохраняет соединения с ресурсом [homes], который _не_ закрывается между сеансами пользователей. Вам следует иметь путь \\samba-server\%L\profile, где user - имя пользователя созданное из ресурса [homes] ].

Есть параметр, который теперь доступен для использования с профилями NT: "logon drive". Он должен быть установлен на "h:" или любое другое устройство, и должен использоваться в сочетании новым параметром "logon home".

Элемент профиля NT 4.0 - _каталог_, а не файл. В справочной системе по NT профилям упоминается, что каталог создается с расширением .PDS . Пользователь, во время вхождения, должен иметь права на запись для создания полного пути профиля (и папки с расширением .PDS ) [lkcl 10aug97 - я обнаружил, что создание каталога .PDS не происходит, и создаю его вручную для каждого пользователя с помощью shell сценария. Также, я предполагаю, но не проверял, что полный путь профиля должен просматриваться так же, как и для w95, из-за способа, которым они пытаются создать полный путь профиля: проверка существования пути каждого компонента; создание пути компонента].

В каталоге профиля NT создает больше папок, чем 95. Она создает "Application Data" и другие, вместе с "Desktop", "Nethood", "Start Menu" и "Programs". Сам профиль помещается в файл NTuser.DAT. В .PDS каталог ничего не помещается, и его назначение на данный момент неизвестно.

Вы можете использовать системную Панель Управления для копирования профиля на samba сервер (смотрите справочную систему NT по профилям: также вы можете указать правильное расположение в System Control Panel). Справочная система NT также упоминает, что переименование NTuser.DAT в NTuser.MAN делает профиль назначенным (mandatory).

Замечание: [lkcl 10aug97 - я заметил, что NT Workstation говорит мне, что она загружает профиль с медленного ресурса. Так ли это на самом еле или это как-либо связано с настройками, пока неизвестно, что заставляет NT Workstation _думать_, что ресурс медленный требуется еще найти].

[lkcl 20aug97 - после samba digest correspondence, один пользователь обнаружил, и другие это подтвердили, что профили не могут быть загружены с samba сервера до тех пор, пока не установлены "security = user" и "encrypt passwords = yes" (смотрите файл ENCRYPTION.txt) или пока не используется "security = server" и "password server = ip.address.of.yourNTserver". Любая из этих опций позволяет рабочей станции NT получить доступ к samba серверу, используя шифрованные пароли LAN manager, без них обычно требуется вмешательство пользователя, чтобы рабочая станция NT допускала пароли прямым текстом].

[lkcl 25aug97 - поступили еще комментарии о профилях NT: факты о _сущности_ профиля. Файл _обязан_ называться NTuser.DAT или, для назначенных профилей, NTuser.MAN].

Совместное использование профилей W95 и NT Workstation 4.0

Далее следует потенциально устаревший или неправильный материал

Я думаю, что все это фикция, но не удалял эту часть. (Richard Sharpe)

По умолчанию путь входа - \\%N\U%. Если вы, с помощью NT User Manager укажете путь входа "\\samba-server\username", то NT Workstation будет пытаться создать каталог "\\samba-server\username.PDS" ". После чего, вам следует указать (например) "\\samba-server\username\profile". NT 4.0 будет пытаться создать "\\samba-server\username\profile.PDS", что, вероятно, возымеет успех.

Если после этого вы захотите разделять с Win95 одни и те же Start Menu / Desktop, вам следует указать "logon path = \\samba-server\username\profile" [lkcl 10aug97 это имеет и отрицательные стороны: я создаю ссылку на telnet.exe, который пытается запуститься с каталога c:\winnt\system32. Очевидно, что этот каталог скорее всего не существует на хосте на котором установлена только Win95].

Если вы все установили правильно, вы найдете отдельный файлы user.DAT и NTuser.DAT в одном и том же каталоге профиля.

Замечание: [lkcl 25aug97 - есть несколько требующих решения вопросов с загрузкой профилей NT, возможно связанных с отметками времени/даты. Я обнаружил, что NTuser.DAT на рабочей станции никогда не обновляется после его первоначального копирования в локальный каталог рабочей станции. Это отличается от w95, где перенос/обновление профилей _выполняется_ правильно].

DOMAIN_CONTROL.txt : Windows NT Domain Control & Samba

Возможно устаревший материал

Это приложение изначально было написано John H Terpstra из команды разработчиков Samba и включено сюда для последующих поколений.

Заметка: Термин "Контроллер домена" и все, что с ним связано, ссылается на один особый метод идентификации, который лежит в основе SMB домена. Контроллеры домена до Windows NT Server 3.1 продавались различными компаниями и основывались на неофициальных расширениях протокола LAN Manager 2.1. Windows NT представила Microsoft-специфичный путь распространения базы данных идентификации пользователей. Примеры того, как Samba может участвовать в создании SMB доменов основанных на иных схемах идентификации пользователей, чем Windows NT SAM, смотрите в DOMAIN.txt

Windows NT Server может устанавливаться либо как чисто файл-сервер и сервер печати (рабочая станция или сервер рабочей группы), либо как сервер, участвующий в управлении доменом (член домена, Первичный Контроллер домена или Резервный Контроллер домена). То же справедливо и для OS/2 Warp Server, Digital Pathworks и других подобных продуктов, все из них могу принимать участие в управлении доменом наряду с Windows NT.

Многих людей эти термины могут сбить с толку, так что попробуем прояснить атмосферу.

Каждая система Windows NT (рабочая станция или сервер) имеет базу данных реестра. Реестр содержит элементы, описывающие информацию об инициализации всех запускаемых в Windows NT окружении служб (эквиваленты демонов в Unix). Реестр также содержит элементы, указывающие приложениям, где искать необходимые динамически загружаемые библиотеки. Фактически, реестр содержит элементы, описывающие все, что может кому-либо понадобиться знать для взаимодействия с остальной системой.

Файлы реестра можно найти на любой Windows NT машине, открыв консоль и набрав:

C:\WINNT\> dir %SystemRoot%\System32\config

Значение переменной окружения %SystemRoot% можно получить набрав:

C:\WINNT>echo %SystemRoot%

Активные части реестра, с которыми вы захотите познакомиться, называются: default, system, software, sam и security.

В окружении домена, контроллеры доменов Microsoft Windows NT участвуют в репликации файлов SAM и SECURITY, так что все контроллеры в домене имеют идентичную копию этих файлов.

Система Microsoft Windows NT структурирована моделью безопасности, в которой сказано, что все приложения и службы должны себя идентифицировать перед получением от менеджера безопасности прав на выполнение своей работы.

База данных пользователей Windows NT также находится в реестре. Эта часть реестра содержит идентификатор безопасности, домашний каталог, членство в группах, профиль рабочего стола и так далее.

Каждая Windows NT система (как рабочая станция, так и сервер) имеет свой реестр. Сервера Windows NT, участвующие в управлении безопасностью домена, имеют общую разделяемую базу данных - таким образом они НЕ владеют независимо всей базой данных реестра, как это делают рабочие станции и обычные сервера.

База данных пользователей называется SAM (Security Access Manager) базой данных и используется для идентификации всех пользователей, также как и для межпоцессовой идентификации (например, чтобы проверить допустимость затребованного пользователем действия в пределах привилегий этого пользователя).

Команда разработчиков Samba выпустила утилиту, способную переводить информацию из формата Windows NT SAM в формат smbpasswd: более детально о smbpasswd и утилите /pub/samba/pwdump смотрите в ENCRYPTION.txt на ближайшем зеркале Samba. Это свойство полезно, но не может непосредственно использоваться для реализации репликации SAM на системы Samba.

Windows for Workgroups, Windows 95, и Windows NT Workstation и Server могут разделять систему безопасности домена, контролируемую корректно настроенными Window NT серверами. Почти каждый домен имеет ОДИН Первичный Контроллер домена (PDC). Желательно, чтобы каждый домен имел, по крайней мере, один Резервный Контроллер домена (BDC).

PDC и BDC участвуют в репликации базы данных SAM, так что каждый участник управления доменом будет иметь в своем реестре обновленный SAM компонент.

[Источник: linux-ve.net]

[ опубликовано 18/06/2003 ]

Автор неизвестен - Как настроить Samba 2.2 в качестве Основного Контроллера Домена (Primary Domain Controller)   Версия для печати