Назад
Глава 5. Делаем пользователей довольными
Часть I. Примеры сетевых конфигураций
Дальше

Глава 5. Делаем пользователей довольными


5.1. О каталогах LDAP и учетных записях Windows компьютеров
5.2. Введение
5.3. Обсуждение и анализ
5.4. Внедрение сервера Samba
5.5. Настройка вторичного контроллера домена BDC на Samba-3
5.6. Прочие задачи подготовки сервер
5.7. Настройка клиентов Windows
5.8. Основные моменты изученного
5.9. Вопросы и ответы

Кто-то сказал: «День, который прошел без проблем, не существовал. Лучше дайте мне день с неприятностями, которые успешно решатся, чтобы я мог добавить его в историю моих достижений.»

В мире компьютерных сетей проблемы также разнообразны, как и люди, которые создают или решают их. Проект сети, развернутой в Главе 4, «Офисная сеть на 500 пользователей» может быть источником проблем для некоторого числа пользователей. Давайте перечислим их:

ВНИМАНИЕ
Советы ощутимого числа сетевых администраторов включены в руководство, представленное ниже. Заметьте, что здесь имеется один PDC для на сотни одновременно подключенных клиентов сети. Такие факторы как пропускная способность сети, использование пропускной способности сети и загрузка сервера являются определяющими для определения максимального числа Windows клиентов которые могут обслуживаться одним контроллером домена (PDC или BDC) в сегменте сети. Возможно управление маршрутизацией сети только одним PDC. Однако то, что возможно, не обязательно самое лучшее. Когда при входе в сеть Windows клиент начинает получать сообщение об ошибке, в котором сказано, что контроллер домена не может быть найден или что не может быть найдена учетная запись пользователя (когда точно известно, что она существует), это может быть свидетельством того, что сервер перегружен, или что пропускная способность сети недостаточна. Руководство, представленное для PDC/BDC в отношении Windows клиентов является традиционным, и если следовать ему, оно минимизирует ваши проблемы, но, разумеется, это не абсолютное решение всех проблем.

Пользователи испытывают трудности при входе в сеть. Когда Windows клиенты входят в сеть, происходит обмен пакетами данных между клиентом и сервером, предоставляющим сервис входа в сеть (network logon services). Каждый запрос между клиентом и сервером должен быть выполнен в пределах определенного временнOго интервала. Это один из основных факторов, который влияет на установку многочисленных контроллеров домена (обычно называемых вторичными (secondary) или резервными (backup) котроллерами) Как правило, должен быть один резервный контроллер на каждые 30-150 клиентов. Реальные ограничения определяются особенностями конкретной сети.

Если контроллер домена предлагает только сервис входа в сеть, а все файлы и печать управляется серверами членами домена, одного контроллера домена в одном сегменте сети будет достаточно на 150 клиентов. В любом случае, настоятельно рекомендуется иметь как минимум один контроллер домена (PDC или BDC) в сегменте сети. Также лучше иметь по крайней мере один BDC в том сегменте сети, в котором есть PDC. Если контроллер домена также используется как файл-сервер и сервер печати, то число клиентов, которых он может обслужить наверняка ниже, и обычно для низко производительного оборудования не превышает 30 компьютеров (рабочих станций Windows или серверов членов домена) на один контроллер домена. Многие узлы способны работать с бОльшим числом клиентов на контроллер домена, число клиентов, которое может поддерживаться, ограничивается частотой CPU, оперативной памятью и рабочей загрузкой сервера Samba, а также полосой пропускания сети.

Медленный вход и выход. Медленный вход и выход может быть обусловлен многими факторами, такими как:

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

  • Коллизии сетевого трафика приводят к перегрузке сегмента сети. Один кратковременный обходной путь для этого может заключаться в подмене сетевых хабов Ethernet-свичами;

  • Бракованное сетевое оборудование. За последние несколько лет мы видим по почтовым рассылкам Samba значительное увеличение числа проблем, источником которых явилось неисправное сетевое оборудование, сетевые хабы, свичи, кабели. В большинстве случаев это были эпизодически проявляющиеся проблемы, которые в конечном счете являлись проблемой точкой;

  • Чрезмерно большие перемещаемые профили. Этот вид проблемы типичен для случаев с плохо обученными пользователями, а также для плохого управления сетью. Этого могли бы избежать пользователи, не хранящие большого числа почтовых файлов MS Outlook PST, а также не хранящие файлы на рабочей станции. Это результат старых плохих традиций, которые требуют большой дисциплины и бдительности со стороны управления сетью;

  • Вы должны проверить, что служба Windows XP Веб-клиент (Web-client) не запущена. Использование службы веб-клиент заключает в себе много проблем, связанных с сетями Windows.
Потеря доступа к сетевым дисками или ресурсам печати. Потеря доступа к сетевым ресурсам во время работы пользователя может быть вызвана несколькими факторами, среди которых:
  • Перегрузка сети (типичный показатель это большое число сетевых коллизий);

  • Перегрузка сервера;

  • Таймаут, вынуждающий клиента завершить подключение, которое используется, но было неактивно (отсутствие трафика) в течение некоторого времени (5 минут и более);

  • Неисправное сетевое оборудование.
Независимо от того, что стало причиной, внезапная потеря доступа к сетевым ресурсам может вызвать появление BSOD (blue screen of death — синий экран смерти), которое потребует перезагрузки рабочей станции. В случае менее радикальной проблемы, повторный доступ к сетевому диску и принтеру может восстановиться через некоторое время, но в некоторых случаях это серьезная проблема, которая повлечет другую проблему, а также потерю данных.

Потенциальная потеря данных. Потенциальная потеря данных это одна из наиболее серьезных проблем. Это может вызвать сомнения, раздражение, расстройство, и обычно вынуждает незамедлительно нейтрализовать потери. Ответ администрации на этот вид проблем может быть целесообразным, а также глубоко нелогичным. В некоторых случаях администрация увольняла сотрудников, обслуживающих сеть, до применения каких-либо мер по устранению потерь. В некоторых случаях абсолютно рабочее оборудование выбрасывалось и заменялось на новое, лишь бы найти проблему, порожденную дешевым сетевым оборудованием. В некоторых случаях устанавливали другую ОС, или обновляли Samba, или выявляли дефектное клиентское программное обеспечение.

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

5.1. О каталогах LDAP и учетных записях Windows компьютеров

Учетные записи компьютеров (рабочих станций) могут быть расположены там, где вы пожелаете в каталоге LDAP, подчиняясь некоторым ограничениям, описанным в этом разделе.

Samba использует как POSIX, так и SambaSAMAccount - составные части учетных записей компьютеров. Таким образом, учетные записи компьютеров рассматриваются внутри Samba с тех же позиций, с каких их рассматривает Windows NT4/200X. Учетная запись пользователя и учетная запись компьютера не отличаются друг от друга за исключением того, что у последней на конце есть символ $, также как и у доверяемых учетных записей (имеется ввиду доверенные учетные записи, например другого домена).

Необходимость пользователя Windows, группы, компьютера, доверия и тому подобным учетным записям быть связанными с UNIX UID это проектное решение, которое сложилось исторически во время разработки Samba. Маловероятно, чтобы это решение было отвергнуто или изменено во время существования Samba серии 3.х.

Разрешение UID из SID Windows достигается внутри Samba через механизм, который должен обращаться к хост-системе, на которой запущена Samba. Диспетчер разрешения имен (name service switch (NSS)) это привилегированный механизм, который освобождает приложения (подобные Samba) от необходимости знать все о каждом локальном компьютере, который работает.

Samba опрашивает локальный компьютер, чтобы передать ему UID через средства конфигурационного файла NSS "passwd", "shadow" и "group". Лучший инструмент, чтобы добиться этого - оставить решение этого вопроса администратору UNIX. Samba не навязывает его. Samba предоставляет службу winbindd с поддержкой его библиотек как единый метод. Можно сделать это через LDAP, и для этого Samba предоставляет соответствующие приемы, так что все объекты учетных записей могут быть размещены в каталоге LDAP.

Из множества средств применяется утилита PADL nss_ldap. Этот инструмент должен быть настроен так, чтобы учетные записи компьютеров могли быть разрешены по учетной записи POSIX/UNIX и UID. Это фундаментальный вопрос проектирования LDAP. Информация, представленная в рассылках Samba и непосредственно в этой документации показывает только рабочие примеры. Проектирование каталога LDAP как комплексного объекта не входит в рамки обсуждения этой книги.
(к началу страницы)

5.2. Введение

Вы только что получили электронное письмо от Кристины, в котором она пишет:
    Доброе утро,

    Несколько месяцев назад мы проектировали сеть. Мы обсуждали главные изменения и мы пошли на компромисс, чтобы оставить наш проект как можно более простым. Мы предполагали, что будут некоторые проблемы, но ожидали, что у нас будет какое-то время, чтобы разрешить любую из этих проблем.

    Как вы теперь знаете, мы начали на нетвердой почве. Мы получили много недовольных пользователей. Одна из них (Мэри) решила уволиться вчера днем, потому что она находилась под прессом окончания некоторых важных проектов. Она получила BSOD ближе к окончанию работы, после четырех часов интенсивного труда, и все, что она сделала было потеряно. У нее есть индивидуальное требование, чтобы она могла сохранять большие файлы у себя на компьютере. Рабочий профиль Мэри размером около 1 Гбайта. В результате ей требуется почти 15 минут, чтобы зарегистрироваться и войти в свой компьютер. Но это не все. Так как весь сетевой трафик входа (имеется ввиду, когда Мэри пытается войти на свой компьютер) проходит через ссылки между нашими зданиями, вход может вызвать 3-4 синих экрана наряду с сетевыми задержками.

    Некоторые из нас работали над решением ее проблем. Мы убедили ее остаться и обещали, что полностью устраним те трудности, с которыми она сталкивается. Мы не имеем выбора. Мы должны внедрить LDAP и установить жесткие ограничения на то, что пользователи могут делать на их рабочих станциях с их рабочим окружением. В противном случае мы можем столкнуться с оттоком персонала, который безусловно воспрепятствует росту компании, а также потерей морального духа персонала. Я уверена, мы можем получить лучшие результаты, так как знаем, что должны делать, чем пребывать в той тревоге, в которой находимся сейчас. Стэн и я обсудили текущую ситуацию. Мы решили помочь нашим пользователям и сберечь хорошее начало Abmas. Пожалуйста, подтвердите данные решения своим согласием, чтобы возобновить как прежде жизнеспособность нашей сети.

    Кристина.

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

    Кристина,

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

    Боб.

(к началу страницы)

5.2.1. Условия задачи

Приоритетные задачи этой главы состоят в следующем:

1. Внедрение Резервных Контроллеров Домена (Backup Domain Controllers (BDC) в каждом здании. Это повлечет изменение используемого бэкенда tdbsam, который использовался в предыдущей главе, на бэкенд, основанный на LDAP.

2. Устранение проблемы долгого времени входа в компьютер. Это включает в себя обращение папок к сетевым общим ресурсам, а также модификацию всех рабочих станций пользователей так, чтобы эти папки были исключены из загрузки во время входа в систему. В том числе вы можете создать новый профиль по умолчанию, который может использоваться всеми новыми пользователями.

Вы настроите новый образ рабочей станции Windows XP Professional и развернете его на все рабочие станции пользователей. Созданные инструкции, вы опробуете на эталонном компьютере, внимательно их протестируете, прежде чем внедрите другим сетевым пользователям.

Это последний пример сети, в котором специально упоминается о настройке печати. Пример снова основан на использовании системы печати CUPS.
(к началу страницы)

5.3. Обсуждение и анализ

Для внедрения резервных контроллеров Samba необходима установка и настройка LDAP. В данном случае, вы будете использовать OpenLDAP, свободное программное обеспечение LDAP для серверной платформы. Коммерческие серверы LDAP, работающие с Samba-3 включают:

  • Novell eDirectory, был успешно использован в нескольких местах. Информация по использованию eDirectory может быть получена в списках рассылки Samba и у Novell;

  • IBM Tivoli Directory Server, может быть использован для предоставления Samba бэкендов LDAP. Пример файлов схемы есть в тарболе Samba в каталоге ~samba/example/LDAP;

  • Sun ONE Identity Server product suite, представляет из себя сервер LDAP, который может использоваться с Samba. Примеры файлов схемы находятся в тарболе Samba каталоге ~samba/example/LDAP.
Несколько слов предостережения. OpenLDAP это просто сервер LDAP, и в отличие от коммерческих предложений, он требует, чтобы вы вручную отредактировали конфигурационные файлы сервера и вручную же инициализировали базу данных каталога LDAP. Сам по себе OpenLDAP имеет только инструменты командной строки, чтобы помочь запустить OpenLDAP и Samba-3, хотя после некоторого изучения ваши требования могут измениться.

Для большинства мест разворачивание Microsoft Active Directory из коробки это вполне нормально. Если вы осуществляете миграцию с Microsoft Active Directory, помните, что OpenLDAP не имеет утилит управления с GUI (графическим) интерфейсом. Каждая простая задача, такая как добавление пользователя в базу данных OpenLDAP требует понимания того, что вы делаете, почему вы делаете это так, а не иначе, и инструментов, которые вы должны использовать.

Бэкенд OpenLDAP для Samba, управляющий подлинностью учетных записей хорошо функционирует, если правильно установлен и настроен. Высокая производительность может быть получена посредством репликации/синхронизации Каталога и настройку конфигурации первичного (основного) и вторичного (подчиненного, резервного) серверов (master/slave). OpenLDAP это сформированная платформа для того, чтобы возложить на нее организационную инфраструктуры Каталога, который может включать в себя все учетные записи UNIX, папки для электронных писем, и многое другое. Цена, заплаченная за изучение проектирования и внедрения схемы Каталога LDAP, а также настройку инструментов управления, будет хорошо вознаграждена производительностью, гибкостью, широкими возможностями управлять содержимым, резервированием, восстановлением и модификацией Каталога, то есть все то, что доступно Microsoft Active Directory.

Не стоит сравнивать OpenLDAP и Microsoft Active Directory. OpenLDAP это набор инструментов для Каталога LDAP. Сервер Microsoft Active Directory это реализация сервера LDAP, который в значительной степени преднастроен для выполнения специфического круга задач. Он начинается с установки административных утилит, которые полностью приспособлены для обслуживания приложений MS Windows, которые включают файловые и принт-сервисы, Microsoft Exchange Server, Microsoft SQL Server, и тому подобные. Комплексность OpenLDAP широко оценена администраторами UNIX, которые хотят получить решение, настроенное по их требованиям. Microsoft предлагает приложение, которое называется MS ADAM, предоставляющее более типовые сервисы LDAP, оно еще не имеет сервисов, подобных тем, которые есть в OpenLDAP.

Вы можете захотеть передать развертывание вашего каталога OpenLDAP экспертам из фирмы, которая осуществляет ваш аутсорсинг, особенно, если вы обнаружили сложности при изучении Каталога LDAP, схем, конфигураций, инструментов управления, а создание shell- и perl- скриптов вызывает трудности. OpenLDAP может быть легко настроен под вас, посредством включения множества готовых к использованию схем. Samba-3 предлагает файлы схемы OpenLDAP, которые требуются при использовании бэкенда паролей passdb.

Для тех же, кто готов бросить вызов процессу установки и настройки взаимодействия OpenLDAP и Samba-3, существует несколько прекрасных утилит, работающих через веб-интерфейс, которые могут помочь вам управлять вашими пользователями и группами более эффективно. Утилиты, работающие через веб-интерфейс, которые могли бы вам понравиться включают LDAP Account Manager (LAM) и CGI инструмент от Idealx, основанный на Webmin.

Примечание: Следующее ниже описание это не Руководство по LDAP. Применение LDAP в нашем случае использует минимальные функции безопасности. Никаких мер безопасности не принято. Информация по настройке LDAP представлена лишь в необходимом для работы виде. Настоятельно рекомендуется получить больше информации о LDAP перед попыткой развертывания данного решения в критически важной бизнес-среде.

Информация, которая может вам помочь начать изучать OpenLDAP доступна на сайте OpenLDAP. Много людей считают полезной книгу Джерри Картера (Jerry Carter ) Системное администрирование LDAP (LDAP System Administration).

Проблемы Мэри имеют два основных фактора. Первое, отсутствие контроллера домена в локальной сети это главный источник ошибок, в результате которых происходит BSOD. Второе, Мэри имеет большой профиль пользователя, который должен загружаться по сети. Дополнительные вторичные контроллеры домена (BDC) в каждом сегменте сети значительно повышают производительность сети для большинства пользователей, но этого не достаточно. Вы должны получить управление над компьютерами пользователей, и это должно быть сделано с поддержкой WINS и не подорвет настроений внутри коллектива. Следующие процедуры решат эту проблему.

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

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

5.3.1. Технические аспекты

Представленное решение является необходимым и достаточным для запуска OpenLDAP в роли сервера Каталога по управлению подлинностью системными учетными записями UNIX и Samba. Системные учетные записи сохранили от представлений OpenLDAP расширения POSIX схем. Samba предоставляет свою собственную схему для разрешения хранения атрибутов учетных записей, необходимых Samba. Samba-3 может использовать бэкенд LDAP для хранения:

  • Учетных записей сетевых пользователей Windows;

  • Учетных записей групп Windows NT;

  • Информацию о привязке между UNIX и Windows группами;

  • Подлинностную привязку (ID Mappings) от SID'ов к UID'ам (а также для SID посторонних доменов).
Использование LDAP совместно с Samba-3 делает необходимым хранение учетных записей UNIX и учетных записей Windows в бэкенде LDAP. Это подразумевает требование использовать LDAP-утилиты PADL. Возможность разрешения имен групп UNIX по их GID должна быть дана либо из файла /etc/group, либо из бэкенда LDAP. Этого требует использование набора инструментов PADL nss_ldap, которые интегрированы с NSS. Те же требования существуют для разрешения имен пользователей UNIX по UID. Взаимосвязи показаны в рисунке 5.1..

Рисунок 5.1. Взаимодействие LDAP, учетных записей POSIX (для UNIX) и учетных записей Samba

Взаимодействие LDAP, учетных записей POSIX (для UNIX) и учетных записей Samba

Вы настроите OpenLDAP так, чтобы эта схема работала. Перед развертыванием OpenLDAP вы действительно должны узнать, как наладить безопасную связь по LDAP так, чтобы безопасность вашей сетевой среды не не находилась под угрозой. Эта тема не охватывается в дальнейшем повествовании.

Когда OpenLDAP будет функционировать, вы настроите PDC MASSIVE. Вы инициализируете файл secrets.tdb. Затем вы создадите LDIF-файл (LDAP Interchange Format (LDIF) file — файл обмена данными LDAP), посредством которого вы cможете инициализировать базу данных LDAP. Вам потребуется решить, как лучше создать учетные записи пользователей и группы. Конечно, будут даны несколько подсказок по этому поводу. На приложенном CD-ROM (http://www.аmazon.com/exec/obidos/tg/detail/-/013188221X внимание, в ссылке в слове аmazon первая "а" на русском, поэтому при копировании ссылки в строку поиска браузера исправьте ее на "а" в английской раскладке, это работа фильтра моего бесплатного хост-провайдера, видимо аmazon.com у него во врагах ходит, прим.перев. ) вы найдете несколько инструментов, которые помогут вам управлять настройкой пользователей и групп. Чтобы осуществить переназначение папок и добавить надежности внедрению этого решения, создайте сетевой профиль по умолчанию. Все сетевые учетные записи для рабочих станций настроены на использование нового профиля. Перемещаемые профили будут автоматически удалены с рабочей станции, после того, как пользователь завершит сеанс.

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

Сценарий входа в сеть (network logon script) используется, чтобы осуществлять гибкие, но последовательные подключения сетевых дисков.
(к началу страницы)

5.3.1.1. Добавление компьютеров к домену

Samba версии ранее 3.0.11 необходимо использовать учетную запись администратора домена, который связан с UNIX своим UID равным 0. ОС UNIX позволяет добавлять учетные записи пользователей и групп только пользователю root. В Samba-3.0.11 введены новые свойства, известные как Privileges (привилегии), представляющие из себя пять новых привелегий, которые могут быть назначены пользователям и/или группам; см. таблицу 5.1..

Таблица 5.1. Текущие возможности назначения привилегий

Привиления Значение
SeMachineAccountPrivilege Добавление компьютеры в домен
SePrintOperatorPrivilege Управление принтерами
SeAddUsersPrivilege Добавление пользователей и групп в домен
SeRemoteShutdownPrivilege Принудительное выключение из удаленной системы
SeDiskOperatorPrivilege Управление общими папками

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

5.3.1.2. Оборотная сторона перемещаемого профиля

В Windows XP, с увеличением размера профиля увеличивается время, требующееся на совершение входа в систему, равно как и на выход из нее. Перемещаемый профиль XP состоит из файла NTUSER.DAT ветви HKEY_CURRENT_USER и некоторого числа папок (My Documents (Мои документы), Application Data, Desktop (Рабочий стол), Start Menu, Templates, NetHood, Favorites, и так далее). Когда пользователь входит в сеть настройками по умолчанию для MS Windows NT/200x/XP, все его данные копируются на локальный компьютер в директорию C:\Documents and Settings\%USERNAME%. Пока пользователь находится в системе, все изменения, сделанные в любой из этих папок, или в ветви реестра HKEY_CURRENT_USER отражаются на профиле. Во время выхода из системы все данные пользователя копируются обратно на сервер. Такое поведение может быть изменено путем соответствующего редактироания реестра и/или путем изменения профиля пользователя по умолчанию (default user profile). В последнем случае, это обновит значения реестра, которые установлены в файле NTUSER.DAT.

Первая задача это уменьшение количества данных, которое должно передаваться с и на сервер в перемещаемом профиле. Она включает удаление всех ярлыков в каталоге Recent (этот каталог содержит ссылки на последние открываемые документы, прим.перев.), убедитесь, что кэш, используемый веб-броузером, не выгружается в папку Application Data, удалите кэш плагинов Java (каталог .jpi_cache в профиле). Также научите пользователей не помещать большие файлы на рабочий стол, и использовать свой присоединенный домашний каталог вместо папки My Documents (Мои документы) для сохранения документов.

Использование другой папки, а не «Мои документы» может быть неудобным некоторым пользователям, особенно с учетом того, что многие приложения используют ее по умолчанию.

Секрет быстрой загрузки перемещаемых профилей в том, чтобы исключить копирование туда-сюда лишних данных без потери функциональности. Это не трудно; это может быть сделано посредством изменений в локальной политике безопасности (Local Group Policy ) каждого клиентского компьютера, а также изменением некоторых путей в ветви NTUSER.DAT для каждого пользователя.

Каждый профиль пользователя имеет свой собственных файл NTUSER.DAT. Это означает, что бы должны отредактировать каждый профиль пользователя, пока нет лучшего метода. К счастью, с соответствующими приготовлениями, это не трудно. Можно удалить файл NTUSER.DAT каждого профиля пользователя, и затем лишь создать сетевой профиль по умолчанию (Network Default Profile). Разумеется, необходимо скопировать все файлы из папок перенаправления (redirected folders) в сетевой общий ресурс, в который они перенаправлялись (redirected)).
(к началу страницы)

5.3.1.3. Локальная политика безопасности (Local Group Policy)

Без Active Directory, поднятого на PDC, вы не можете использовать все преимущества Групповых Политик. Тем не менее, вы можете делать изменения в локальных политиках безопасности, используя редактор политики безопасности gpedit.msc (Group Policy editor).

Вызовите редактор политики безопасности и найдите настройку Конфигурация_пользователя->Административные шаблоны->Система-> Профили_пользователей->Исключить папки из перемещаемого профиля. Установите «Включен» и помеcтите в исключение такие папки, как Local Settings, Temporary Internet Files, History, Temp. Перечислите эти папки через точку-с-запятой. Эти папки не будут копироваться туда-сюда. Помните, это изменение вы должны сделать на всех клиентских компьютерах, использующих перемещаемые профили.
(к началу страницы)

5.3.1.4. Изменения профиля

Должны быть сделаны два изменения каждого профиля пользователя. Переместите каждую из папок, которую вы хотите исключить из процесса копирования с/на сервер из обычного пути профиля. Модифицируйте файл NTUSER.DAT каждого пользователя, указав новые пути, которые используются в сети, вместо пути по умолчанию (C:\Documents and Settings\%USERNAME%).

Вышесказанное изменяет существующие профили пользователей. Так, чтобы заново созданные профили имели эти установки, вы должны скорректировать файл NTUSER.DAT в папке C:\Documents and Settings\Default User на каждой клиентской рабочей станции, изменяя те же самые ключи реестра. Вы можете сделать это, копируя в блок Linux и используя regedt32 (You could do this by copying NTUSER.DAT to a Linux box and using regedt32). Основной метод описан в 5.7.1..
(к началу страницы)

5.3.1.5. Использование сетевого профиля пользователя по умолчанию

Если вы используете Samba как PDC, вы должны создать общедоступный (shared) файл NETLOGON без создания каталога Default User, в который скопируется требуемая конфигурация пользователя по умолчанию (включая копию NTUSER.DAT). Если будет существовать и такой общедоступный файл, и папка Default User, при первом входе новая учетная запись получит всю свою конфигурацию из нее. Для получения дополнительных сведений обратитесь к сайту the Real Men Don't Click.
(к началу страницы)

5.3.1.6. Установка автоматической загрузки драйверов принтера

Вопрос печати представляется весьма актуальным. Сегодня вопросы печати занимают второе место после проблем разрешения имен. На протяжении этой книги вы имели лишь тот опыт, который известен как «не интеллектуальная» печать. Во время такой печати все драйверы принтера устанавливаются вручную на каждую клиентскую рабочую станцию и подсистема печати не использует фильтрацию и какие-либо изыски. Такая печать проста для понимания. Обычно она работает без проблем, но она имеет также ряд ограничений. Такая печать более известна как Raw-Print-Through печать (необработанная печать, печать как есть).

Samba позволяет настроить «умную» (smart) печать, используя печать «указал-и-щелкнул» (также называемую drag-and-drop) печать. По существу это предоставляет возможность печатать на любой принтер. Если локальный клиент еще не имеет установленного драйвера принтера, драйвер автоматически будет загружен с сервера Samba и установлен клиенту. В печати drag-and-drop нет ничего лишнего; это значит, что пользователю никогда не надо будет беспокоиться из-за установки драйверов, и это классная штука (Good Thing,™), не так ли?

Последующий уровень процесса печати, известный как intelligent (интеллектуальная) печать, которая автоматически определяет формат данных, отправленных на печать, а затем запускает подходящий фильтр для конвертирования потока входящих данных в вид, пригодный для того принтера, на который было отправлено задание.

Подсистема печати CUPS способна на интеллектуальную печать. Она способна определять формат данных и применять фильтры печати. Это означает, что возможна установка одного драйвера принтера на все Windows клиенты для использования со всеми принтерами, параметры которых проходят и известны CUPS. Наиболее продвинутые драйверы используют драйвер для PostScript-принтера. К счастью, компания Easy Software Products, авторы CUPS выпускают драйверы принтеров PostScript для Windows. Они могут быть установлены в бэкенд печати Samba так, что будут автоматически загружены клиентом, когда они ему потребуются.

Это означает, что пока в наличии есть драйвер CUPS для принтера, в процессе печати из приложений Windows может использоваться PostScript, независимо от фактического языка принтера, как физического устройства. Это также означает, что администратор может поменять принтер на абсолютно другой тип устройства, не нуждаясь после этого в замене драйвера принтера на клиентской рабочей станции.

Эта книга о Samba-3, поэтому вы можете ограничить режим печати лишь установкой «интеллектуального» режима. Тем, кто интересуется дополнительными возможностями интеллектуальной печати, следует обратиться к сайту Easy Software Products.
(к началу страницы)

5.3.1.7. Обходим ошибки: поиск проблем

Часто говорят, что есть три типа людей: одни все точно помнят, и другие, которые все забывают. И пожалуйста, не спрашивайте, кто относится к третьму типу! Ну, по-видимому у всех из нас есть приятели во второй группе. Должно существовать хорошее объяснение, почему очень много сетевых администраторов не в состоянии рационально и эффективно разрешить простые очевидные проблемы.

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

Замечание на будущее: неприятностей можно избежать. Лучший совет, относительно того, как не сломать ногу, звучит: «Никогда не ломай ногу!».

Недавно взявшиеся за освоение Samba и LDAP, поначалу испытывают много сложностей. Если вы хотите получить совет относительно наилучшего пути избавления от всех проблем, связанных с Samba и LDAP, то вот он: «Избегайте их, как чуму!».

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

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

ВНИМАНИЕ
Не успокаивайте себя на мысли, что вы можете легко приспособить примеры этой части книги к своим нуждам без изучения предварительно представленного материала. Небольшое упущение может вызвать существенные проблемы, а также может надолго подпортить вашу репутацию.

Демон поддержки кэша сервиса имен (The Name Service Caching Daemon). Демон поддержки кэша сервиса имен (name service caching daemon (nscd)) основной источник трудностей при разрешении имен, в частности там, где используется winbind. Winbind осуществляет свое собственное кэширование, таким образом nscd вынужден осуществлять двойное кэширование, которое может повлечь специфические проблемы во время отладки. Как правило, неплохие результаты дает выключение этого демона.

Деятельность, осуществляемая демоном поддержки кэша сервиса имен, управляется файлом /etc/nscd.conf. Ниже дано типичное содержание этого файла:

# /etc/nscd.conf
# An example Name Service Cache config file.  This file is needed by nscd.
# Legal entries are:
#       logfile                 
#       debug-level             
#       threads                 
#       server-user             
#               server-user is ignored if nscd is started with -S parameters
#       stat-user               
#       reload-count            unlimited|
#
#       enable-cache             
#       positive-time-to-live    

Можно закомментировать записи passwd и group, так они не будут кэшированы. Альтернативный путь, а часто и более простой — запретить запуск демона nscd, так это можно сделать для Novell SUSE Linux:

root#  chkconfig nscd off
root#  rcnscd off

Отладка LDAP. В файле /etc/openldap/slapd.conf (см. пример 5.4.2.) есть запись loglevel 256. Чтобы позволить вести журнал через функции syslog, необходимо раскомментировать этот параметр и перезапустить slapd. Информация журналов (логи) LDAP может записываться в файл, который обособлен от обычных файлов журналов (сообщений) путем изменения файла /etc/syslog.conf следующим образом:

 Some foreign boot scripts require local7
#
local0,local1.*                 -/var/log/localmessages
local2,local3.*                 -/var/log/localmessages
local5.*                        -/var/log/localmessages
local6,local7.*                 -/var/log/localmessages
local4.*                        -/var/log/ldaplogs

В этом случае логи, связанные с LDAP, будут записываться в файл /var/log/ldaplogs. Это упростит процесс поиска сообщений об ошибках LDAP. Этот фрагмент представляет простой пример использования, который может быть изменен под нужды конкретного места (организации). Конфигурация, используемая позже в этой главе, отражает индивидуальную настройку с тем прицелом, что файлы журналов LDAP будут сохраняться в месте, наиболее отвечающем потребностям компании.

Отладка NSS_LDAP. Базовый механизм диагностики проблем утилиты nss_ldap включается добавлением в файл /etc/ldap.conf следующих параметров:

debug 256
logdir /data/logs

Не забудьте создать эту директорию:

root#  mkdir /data/logs

Шаги по диагностике работы NSS_LDAP: 1. Проверьте в файле /etc/ldap.conf записи nss_base_passwd, nss_base_shadow, nss_base_group, и внимательно их сравните с размещением дерева Каталога, которое было выбрано во время создания Каталога. Например это может быть сделано так:

root#  slapcat | grep Group | grep dn
dn: ou=Groups,dc=abmas,dc=biz
dn: cn=Domain Admins,ou=Groups,dc=abmas,dc=biz
dn: cn=Domain Users,ou=Groups,dc=abmas,dc=biz
dn: cn=Domain Guests,ou=Groups,dc=abmas,dc=biz
dn: cn=Domain Computers,ou=Groups,dc=abmas,dc=biz
dn: cn=Administrators,ou=Groups,dc=abmas,dc=biz
dn: cn=Print Operators,ou=Groups,dc=abmas,dc=biz
dn: cn=Backup Operators,ou=Groups,dc=abmas,dc=biz
dn: cn=Replicators,ou=Groups,dc=abmas,dc=biz

Первая строка это место записи DIT (DIT - directory information tree, информационное дерево Каталога) для контейнера групп POSIX (групп системы UNIX). Скорректируйте запись в файле /etc/ldap.conf для параметра nss_base_group в соответствие с отличительным именем (dn - distinguished name), как применено здесь:

nss_base_group ou=Groups,dc=abmas,dc=biz?one

Этого же принципа можно придерживаться для установки соответствующих dn учетных записей пользователей. Если контейнер для учетных записей компьютеров не тот же самый, что для пользователей (смотрите значение строки ldap machine suffix файла smb.conf), возможно потребуется установить такой DIT dn в файле /etc/ldap.conf:

nss_base_passwd dc=abmas,dc=biz?sub

Это укажет LDAP осуществлять поиск как записей компьютеров, так и записей пользователей сверху вниз всего информационного дерева Каталога DIT. Это не очень эффективно, но по крайней мере должно работать. Заметьте: можно определить несколько записей nss_base_passwd в файл /etc/ldap.conf, они будут определяться последовательно.

Давайте рассмотрим пример использования, где применяется следующее DIT:

  • Учетные записи пользователей (User accounts) хранятся в DIT: ou=Users, dc=abmas, dc=biz;

  • Учетные записи входа в систему пользователей (User login accounts) хранятся в DIT: ou=People, ou=Users, dc=abmas, dc=biz;

  • Учетные записи компьютеров хранятся в DIT: ou=Computers, ou=Users, dc=abmas, dc=biz.
Соответствующая запись для директивы nss_base_passwd в файле /etc/ldap.conf может быть такой:

nss_base_passwd ou=People,ou=Users,dc=abmas,dc=org?one
nss_base_passwd ou=Computers,ou=Users,dc=abmas,dc=org?one

2. Выполните поиск как показано здесь:

root#  getent passwd

Каждый цикл поиска создаст запись в каталоге /data/log , соответствующую каждому циклу. Содержимое каждого файла, созданного в этом каталоге, может указать на причину возникшей проблемы.

3. Для получения дополнительной диагностической информации изучите содержимое файла /var/log/messages, чтобы увидеть, какие сообщения об ошибках были сгенерированы в результате поиска LDAP. Вот пример удачного поиска:

slapd[12164]: conn=0 fd=10 ACCEPT from IP=127.0.0.1:33539
(IP=0.0.0.0:389)
slapd[12164]: conn=0 op=0 BIND dn="" method=128
slapd[12164]: conn=0 op=0 RESULT tag=97 err=0 text=
slapd[12164]: conn=0 op=1 SRCH base="" scope=0 deref=0
filter="(objectClass=*)"
slapd[12164]: conn=0 op=1 SEARCH RESULT tag=101 err=0
nentries=1 text=
slapd[12164]: conn=0 op=2 UNBIND
slapd[12164]: conn=0 fd=10 closed
slapd[12164]: conn=1 fd=10 ACCEPT from
IP=127.0.0.1:33540 (IP=0.0.0.0:389)
slapd[12164]: conn=1 op=0 BIND
dn="cn=Manager,dc=abmas,dc=biz" method=128
slapd[12164]: conn=1 op=0 BIND
dn="cn=Manager,dc=abmas,dc=biz" mech=SIMPLE ssf=0
slapd[12164]: conn=1 op=0 RESULT tag=97 err=0 text=
slapd[12164]: conn=1 op=1 SRCH
base="ou=People,dc=abmas,dc=biz" scope=1 deref=0
filter="(objectClass=posixAccount)"
slapd[12164]: conn=1 op=1 SRCH attr=uid userPassword
uidNumber gidNumber cn
homeDirectory loginShell gecos description objectClass
slapd[12164]: conn=1 op=1 SEARCH RESULT tag=101 err=0
nentries=2 text=
slapd[12164]: conn=1 fd=10 closed

4. Проверьте, что запись bindpw файла /etc/ldap.conf или файла /etc/ldap.secrets корректна, как установлено в файле /etc/openldap/slapd.conf.

Отладка Samba. Следующие параметры в файле smb.conf могут быть полезны для поиска проблем, связанных с Samba:

[global]
	...
	log level = 5
	log file = /var/log/samba/%m.log
	max log size = 0
	...

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

[global]
	...
	log level = 1
	log file = /var/log/samba/%m.log
	max log size = 50
	...

Можно осуществить анализ этого файла например так:

root#  cd /var/log/samba
root#  grep -v "^\[200" machine_name.log

Ищите упоминания об ошибках по таким ключевым словам как fail и error.

Отладка Windows клиентов. Можно так настроить клиентов MS Windows 2000 Professional и Windows XP Professional, чтобы создавался файл netlogon.log, который может быть очень полезен при диагностике проблем доступа в сеть. Поищите детальные инструкции по этому вопросу в базе знаний Microsoft (Microsoft knowledge base). Технические приемы осуществления этой возможности немного изменяются в каждой версии MS Windows.
(к началу страницы)

5.3.2. Политические аспекты

Сетевые пользователи MS Windows как правило очень чувствительны к ограничениям, которые могут быть наложены на возможности изменения настроек рабочей станции. Требование, перед лицом которого вы оказываетесь, должно балансировать между выбором между надежной, быстрой сетью и постоянным потоком проблем, которые являются результатом раздражения пользователей.
(к началу страницы)

5.3.3. Перечень действий по установке

Вы начинаете комплексный проект. Даже с учетом того, что вы однажды прошли через установку комплексной сети в Главе 4, «Офисная сеть на 500 пользователей», эта сеть более многозадачна, так как перед началом первых шагов по проверке ее работоспособности вы должны настроить большое число разнообразных приложений. Изучите то, что вы собираетесь предпринять, подготовьтесь, и почаще делайте обзор тех шагов, которые у вас впереди, по крайней мере помечайте в уме то, что уже было закончено. Следующий список задач задаст вам некоторое направление, которого стоит держаться:

  • Конфигурирование сервера Samba-3 в режиме PDC:
    1. Серверы DHCP и DNS;
    2. Сервер OpenLDAP;
    3. Инструменты клиентов PAM и NSS;
    4. Samba-3 как PDC;
    5. Скрипты Idealx smbldap;
    6. Инициализация LDAP;
    7. Создание учетных записей пользователей и групп;
    8. Настройка принтеров;
    9. Создание дерева общих ресурсов;
    10. Каталоги профилей;
    11. Сценарии входа (logon scripts);
    12. Настройка прав и разрешений пользователей.
  • Конфигурирование сервера Samba-3 в режиме BDC:
    1. Серверы DHCP и DNS;
    2. Инструменты клиентов PAM и NSS;
    3. Настройка принтеров;
    4. Создание дерева общих ресурсов;
    5. Каталоги профилей.
  • Конфигурирование клиентов Windows XP:
    1. Переназначение папки профиля по умолчанию;
    2. Перенос файла .pst MS Outlook;
    3. Удаление перемещаемого профиля после выхода из системы;
    4. Загрузка драйвера принтера на серверы Samba;
    5. Установка ПО;
    6. Создание эталонных образов.
(к началу страницы)

5.4. Внедрение сервера Samba

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

Рисунок 5.2. Топология сети на 500 пользователей, с использованием бэкенда паролей passdb ldbsam

Топология сети на 500 пользователей, с использованием бэкенда паролей passdb ldbsam

Все конфигурационные файлы и их расположение показаны для SUSE Linux 9.2 и одинаково верны для SUSE Linux Enterprise Server 9. Расположение файлов для Red Hat Linux также сходно. Вам может потребоваться уточнение расположения конфигурационных файлов для вашего дистрибутива Linux.

Примечание: В последующих операциях применяются Samba-3.0.20 и скрипты Idealx smbldap-tools v.0.9.1. Если вы используете другие версии Samba или smbldap-tools, пожалуйста, проверьте, что они совместимы. Пакет smbldap-tools использует счетчик записей в Каталоге LDAP, чтобы не допускать дублирования UID'ов GID'ов, которые выданы учетным записям POSIX (каждой новой учетной записи назначается следующий по номеру uid, прим.перев.). Относительное отличительное имя (rdn) LDAP, под которым хранится эта информация, называется uidNumber и gidNumber, соответственно. Они могут быть расположены в любой удобной части информационного дерева Каталога (DIT). В примерах, которые следуют далее, они расположены под отличительным именем dn=sambaDomainName=MEGANET2,dc=abmas,dc=org. Точно также они могли бы быть расположены под относительным отличительным именем cn=NextFreeUnixId.

Дальнейшие действия включают в себя шаги по изменению конфигурации сети из Главы 4, «Офисная сеть на 500 пользователей». Перед выполнением следующих шагов, вы должны иметь готовое работающее решение, реализованное в этой (4-й) главе. Если вы начинаете с заново установленного сервера Linux, вы должны выполнить все этапы раздела 4.3.1., прежде чем переходить к разделу 5.4.1..
(к началу страницы)

5.4.1. Конфигурирование сервера OpenLDAP

Проверьте, что пакеты, показанные в таблице 5.2., установлены в вашей системе.

Таблица 5.2. Пакеты, требующиеся OpenLDAP

SUSE Linux 8.x SUSE Linux 9.x Red Hat Linux
nss_ldap nss_ldap nss_ldap
pam_ldap pam_ldap pam_ldap
openldap2 openldap2 openldap
openldap2-client openldap2-client  

Samba-3 и OpenLDAP будут иметь неизбежный уровень взаимозависимости. Метод для авторегулирования конфигурации LDAP и Samba-3 относительно прост. Если вы последуете этим рекомендациям, ваша система будет прекрасно работать.

Шаги по настройке сервера OpenLDAP:

1. Создайте в каталоге /etc/openldap файл slapd.conf с содержанием, показанным в примере 5.4.2..

2. Удалите все файлы из каталога /data/ldap, удостоверьтесь, что каталог имеет такие права доступа

root#  ls -al /data | grep ldap
drwx------   2 ldap    ldap       48 Dec 15 22:11 ldap

Вам может потребоваться создать учетную запись пользователя и группу для LDAP, если их еще не существует.

3. Поместите в каталог /data/ldap файл DB_CONFIG, содержание которого показано в примере 5.4.1.. В том случае, когда этот файл добавлен после того, как LDAP был запущен, можно применить новые настройки не выключая сервер LDAP выполнив команду db_recover внутри каталога /data/ldap, а затем перезапустив сервер LDAP.

Пример 5.4.1. Файл LDAP DB_CONFIG

set_cachesize           0 150000000 1
set_lg_regionmax        262144
set_lg_bsize            2097152
#set_lg_dir             /var/log/bdb
set_flags               DB_LOG_AUTOREMOVE

4. Может быть включено выполнение журналирования и желательно , чтобы данные журнала писались в файл такой файловой системы, которая может обрабатывать файлы журналов значительных размеров. Чтобы включить подробное журналирование для разрешения детального анализа, раскомментируйте строку loglevel 256 файла /etc/openldap/slapd.conf. Отредактируйе файл /etc/syslog.conf, добавив такую запись в конец файла:

local4.*        -/data/ldap/log/openldap.log

Замечание: путь data/ldap/log должен вести в подходящее место, которое может хранить большой объем данных.
(к началу страницы)

5.4.2. Настройка клиентов PAM и NSS

Следующие шаги по конфигурированию LDAP включают в себя настройку разрешения (resolution) LDAP пользователей и групп, основанного на NSS. Так, кроме того, что учетные записи LDAP могут использоваться для входа в систему, сначала следует настроить PAM (Pluggable Authentication Modules — подключаемые модули аутентификации) для разрешения аутентификации, основанной на LDAP.

С того момента, как вы решили внести учетные записи пользователей и групп UNIX в базу данных LDAP, возможно вы захотите использовать их и для локального входа на компьютеры с UNIX (Linux) системой. Для этого необходимо настроить PAM. Пакет pam_ldap предоставляет модули PAM, которыми пользуются большинство людей. В системах SUSE Linux модуль pam_unix2.so также имеет возможность для перенаправления аутентификационных запросов через LDAP.

Вы можете выбрать настройку этих сервисов путем непосредственного редактирования системных файлов, но, разумеется, вы знаете, что эта настройка может быть осуществлена с использованием системных утилит, предоставляемых вашим дистрибутивом Linux. SUSE Linux имеет такую возможность в YaST (yast->system->ldap-client), так вы настроите SUSE Linux как клиент LDAP. Red Hat Linux предоставляет для этого инструмент authconfig.

Шаги по настройке клиентов PAM и NSS:

1. Выполните следующую команду, чтобы определить, где модуль nss_ldap ожидает найти управляющий файл:

root#  strings /lib/libnss_ldap.so.2 | grep conf

Предпочтительное и, как правило, стандартное местоположение это /etc/ldap.conf.

2. Поместите на сервер MASSIVE файл, показанный в примере 5.4.4.. На серверы BLDG1 и BLDG2, поместите файлы из примера 5.4.5.. Поместите эти файлы в те места, которые были указаны ранее.

3. Отредактируйте управляющий NSS файл (/etc/nsswitch.conf) так, чтобы строки, которые управляют разрешением пользователей и групп получали информацию из обычных системных файлов, а также из ldap:

passwd: files ldap
shadow: files ldap
group:  files ldap
hosts:  files dns wins

Позже, когда база данных LDAP будет инициализирована и учетные записи пользователей и групп будут добавлены, вы сможете проверить разрешающие возможности LDAP. Включение WINS-разрешения имен компьютеров (hostname) неслучайно, так все имена компьютеров с Windows смогут разрешаться по их IP адресам, независимо от того, являются ли они клиентами DHCP или нет.

Примечание: Некоторые системы Linux (в частности Novell SUSE Linux) добавляют записи в файл /etc/nsswitch.conf так, что возможны эксплуатационные проблемы с методами настройки, представленными в этой книге. Рекомендуется в этом файле раскомментировать записи passwd_compat и group_compat.

Даже рискуя несколько преувеличить проблему, следует заметить, некорректная и неверная настройка файла /etc/nsswitch.conf является существенным источником проблем функционирования LDAP.

4. Для настройки PAM LDAP на системе SUSE Linux 9.0, простейшим решением будет являться редактирование следующих файлов из директории /etc/pam.d: login, password, samba, sshd. В каждом файле найдите строки, содержащие запись pam_unix2.so и добавьте запись use_ldap, пример для модуля login показан в примере ниже:

#%PAM-1.0
auth      requisite  pam_unix2.so   nullok use_ldap #set_secrpc
auth      required   pam_securetty.so
auth      required   pam_nologin.so
#auth     required   pam_homecheck.so
auth      required   pam_env.so
auth      required   pam_mail.so
account   required   pam_unix2.so   use_ldap
password  required   pam_pwcheck.s  nullok
password  required   pam_unix2.so   nullok use_first_pass use_authtok use_ldap
session   required   pam_unix2.so   none use_ldap # debug or trace
session   required   pam_limits.so

На других системах Linux, которые не имеют pam_unix2.so модуля, поддерживающего LDAP, вы можете отредактировать эти файлы, добавив модули pam_ldap.so, как показано здесь:

#%PAM-1.0
auth     required    pam_securetty.so
auth     required    pam_nologin.so
auth     sufficient  pam_ldap.so
auth     required    pam_unix2.so   nullok try_first_pass #set_secrpc
account  sufficient  pam_ldap.so
account  required    pam_unix2.so
password required    pam_pwcheck.so nullok
password required    pam_ldap.so    use_first_pass use_authtok
password required    pam_unix2.so   nullok use_first_pass use_authtok
session  required    pam_unix2.so   none # debug or trace
session  required    pam_limits.so
session  required    pam_env.so
session  optional    pam_mail.so

Этот пример не имеет pam_unix2.so, поддерживающего LDAP, а просто демонтрирует использование pam_ldap.so модуля. Вы можете использовать любую реализацию, но если pam_unix2.so на вашей системе поддерживает LDAP, вы скорее захотите использовать его, чем подключать дополнительные модули.
(к началу страницы)

5.4.3. Настройка Samba-3 как PDC

Перед выполнением следующих шагов, проверьте, что пакет Samba-3.0.20 (или более поздняя версия) установлен на ваш сервер SUSE Linux.

Настройка первичного контроллера домена PDC MASSIVE:

1. Поместите файлы, содержимое которых показано в примерах 5.4.6., 5.4.7., 5.5.3., 5.5.4. в каталог /etc/samba. Заметьте, эти примеры должны быть объединены в один основной (master) файл smb.conf. Хорошим тоном является называть этот файл как-то наподобие smb.conf.master, а затем делать преобразование этого файла в основной файл. Как это сделать, показано в следующем шаге.

2. Создайте и проверьте содержимое файла smb.conf таким образом:

root#  testparm -s smb.conf.master > smb.conf

Непосредственная проверка:

root#  testparm

Если в вашем файле нет каких-либо ошибок, то вывод от последней команды должен быть примерно таким:

oad smb config files from /etc/samba/smb.conf
Processing section "[accounts]"
Processing section "[service]"
Processing section "[pidata]"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[apps]"
Processing section "[netlogon]"
Processing section "[profiles]"
Processing section "[profdata]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions

3. Удалите файлы, оставшиеся от предыдущего функционирования Samba:

root#  rm /etc/samba/*tdb
root#  rm /var/lib/samba/*tdb
root#  rm /var/lib/samba/*dat
root#  rm /var/log/samba/*

4. Samba-3 соединяется с сервером LDAP. Пароль, который используется для аутентификации на сервере LDAP должен храниться в файле secrets.tdb. Выполните следующую команду, чтобы создать новый файл secrets.tdb и сохранить пароль менеджера LDAP:

root#  smbpasswd -w not24get

После выполнения этой команды вы должны увидеть следующее:

Setting stored password for "cn=Manager,dc=abmas,dc=biz" in secrets.tdb

5. Samba-3 генерирует идентификаторы безопасности Windows (Windows Security Identifier (SID)) только тогда, когда запущен демон smbd. Поэтому запустите Samba-3. После нескольких секунд выполните:

root#  smbclient -L localhost -U%
root#  net getlocalsid

Такой вывод, как показан ниже, означает, что SID домена еще не записан в файл secrets.tdb или в бэкенд LDAP:

[2005/03/03 23:19:34, 0] lib/smbldap.c:smbldap_connect_system(852)
  failed to bind to server ldap://massive.abmas.biz
with dn="cn=Manager,dc=abmas,dc=biz" Error: Can't contact LDAP server
        (unknown)
[2005/03/03 23:19:48, 0] lib/smbldap.c:smbldap_search_suffix(1169)
  smbldap_search_suffix: Problem during the LDAP search:
        (unknown) (Timed out)

Попытка получить SID станет причиной попытки связи с сервером LDAP. Так как сервер LDAP еще не запущен, по истечении некоторого времени вы получите ошибку, приведенную выше. И это нормально, не волнуйтесь из-за этого сообщения. Когда домен будет создан и записан в файл secrets.tdb, вывод станет похож на этот:

SID for domain MEGANET2 is: S-1-5-21-3504140859-1010554828-2431957765

Если после короткой задержки (несколько секунд), SID домена все еще не будет записан в файл secrets.tdb, необходимо выяснить, в чем может быть дело. В этом случае тщательно проверьте файл smb.conf на предмет опечаток (наиболее частая проблема). Настоятельно рекомендуется проверить содержимое этого файла утилитой testpatm.

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

7. Настройте сервер NFS вашей системы Linux. Так вы сможете выполнить следующие шаги, сделайте в файл /etc/exports такую запись:

/home   *(rw,root_squash,sync)

Это позволит домашним каталогам пользователей использоваться на серверах BDC в целях тестирования. Вы, конечно, решаете, что лучший способ размещения вашего сайта это распределенные дисковые массивы данных и вы создаете соответствующие настройки для резервирования и сохранения данных Abmas, я бы строго рекомендовал сделать BDC полностью независимым от PDC для стандартного функционирования. Для этого весьма полезным инструментом является rsync, как имеющий довольно тесное сходство с сервисом репликации NT. Если вы используете NFS, не забудьте запустить сервер NFS:

root#  rcnfsserver start

Теперь ваш PDC на Samba-3 готов для соединения с бэкендом паролей LDAP. Давайте познакомимся с настройкой сервера LDAP.
(к началу страницы)

5.4.4. Установка и настройка скриптов Idealx smbldap-tools

Скрипты Idealx, или их эквивалент, необходимы для того, чтобы позволить Samba-3 управлять учетными записями сервера LDAP. Вы выбрали скрипты Idealx, потому что это наиболее известные конфигурационные скрипты LDAP. Использование этих скриптов поможет избежать необходимости создавать скрипты самостоятельно. Проще всего загрузить smbldap-tools-0.9.1. с сайта Idealx, это может быть либо тарбол, либо rpm-пакет (в настоящий момент страница загрузки .tgz и .src.rpm находится здесь, прим.перев.).

Примечание: Скрипты smbldap-tools могут быть установлены в любую подходящую директорию по вашему выбору, в этом случае вы должны будете изменить этот путь в файле smb.conf вашего PDC (у нас это сервер MASSIVE).

В нашем примере скрипты smbldap-tools расположены в папке /opt/IDEALX/sbin. Серверы BDC не нуждаются в этих скриптах, потому что все обновления LDAP обрабатывает только PDC.
(к началу страницы)

5.4.4.1. Установка smbldap-tools из тарбола

Для выполнения ручной установки скриптов smbldap-tools, нужно сделать следующие шаги:

1. Создайте каталог /opt/IDEALX/sbin и задайте следующие права и разрешения:

root#  mkdir -p /opt/IDEALX/sbin
root#  chown root:root /opt/IDEALX/sbin
root#  chmod 755 /opt/IDEALX/sbin
root#  mkdir -p /etc/smbldap-tools
root#  chown root:root /etc/smbldap-tools
root#  chmod 755 /etc/smbldap-tools

2. Если вы хотите использовать загруженный тарбол, распакуйте smbldap-tools в подходящую временную папку.

3. Скопируйте все файлы smbldap-*, а также файл configure.pl в каталог /opt/IDEALX/sbin, так, как показано здесь:

root#  cd smbldap-tools-0.9.1/
root#  cp smbldap-* configure.pl *pm /opt/IDEALX/sbin/
root#  cp smbldap*conf /etc/smbldap-tools/
root#  chmod 750 /opt/IDEALX/sbin/smbldap-*
root#  chmod 750 /opt/IDEALX/sbin/configure.pl
root#  chmod 640 /etc/smbldap-tools/smbldap.conf
root#  chmod 600 /etc/smbldap-tools/smbldap_bind.conf

4. Теперь должен быть сконфигурирован основной управляющий файл скриптов smbldap-tools. Пройдите в каталог /opt/IDEALX/sbin, затем отредактируйте файл smbldap_tools.pm:

...
# ugly funcs using global variables and spawning openldap clients

my $smbldap_conf="/etc/smbldap-tools/smbldap.conf";
my $smbldap_bind_conf="/etc/smbldap-tools/smbldap_bind.conf";
…

5. Для завершения настройки smbldap-tools, установите права доступа и разрешения, выполнив следующую команду:

root#  chown root:root /opt/IDEALX/sbin/* 
root#  chmod 755 /opt/IDEALX/sbin/smbldap-*
root#  chmod 640 /opt/IDEALX/sbin/smb*pm

(к началу страницы)

5.4.4.2. Установка smbldap-tools из rpm-пакета

Если вы решили воспользоваться установкой из rpm-пакета , загрузите исходные коды smbldap-tools-0.9.1-1.src.rpm, и затем проделайте следующие шаги:

1. Установите исходные коды rpm:

root#  rpm -i smbldap-tools-0.9.1-1.src.rpm

2. Пройдите в каталог, в котором находятся SPEC файлы. В SUSE Linux:

root#  cd /usr/src/packages/SPECS

В системах Red Hat Linux

root#  cd /usr/src/redhat/SPECS

3. Отредактируйте файл smbldap-tools.spec, изменив значение _sysconfig как здесь:

%define _prefix /opt/IDEALX
%define _sysconfdir /etc

Примечание: может быть выбран любой каталог по вашему выбору.

4. Соберите пакет, выполнив команду:

root# rpmbuild -ba -v smbldap-tools.spec

Если процесс сборки пройдет без ошибок, в каталоге ../RPMS/noarch окажется установочный бинарный файл.

5. Установите бинарный пакет, выполнив команду:

root#  rpm -Uvh ../RPMS/noarch/smbldap-tools-0.9.1-1.noarch.rpm

Теперь скрипты Idealx готовы к настройке, шаги по которой показаны в разделе 5.4.4.3.
(к началу страницы)

5.4.4.3. Настройка smbldap-tools

Прежде чем применяться, скрипты smbldap-tools должны быть настроены в соответствии с установками файлов smb.conf и /etc/openldap/slapd.conf. Это будет сделано из допущения, что файл smb.conf имеет корректное содержание. Smbldap-tools требует, чтобы NetBIOS имя сервера Samba было включено в файл smb.conf.

Шаги по настройке smbldap-tools:

1. Пройдите в каталог, в котором находится скрипт configure.pl:

root#  cd /opt/IDEALX/sbin

2. Запустите скрипт configure.pl:

root# ./configure.pl

Ниже показано интерактивное использование этого скрипта для PDC (данный скрипт читает настройки файла smb.conf чтобы заполнить файлы smbldap.conf, smbldap_bind.conf и спрашивает ваше подтверждение того, что параметры прочитаны верно, при желании вы можете их изменить, прим.перев.):

root#  /opt/IDEALX/sbin/configure.pl 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
       smbldap-tools script configuration
       -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Before starting, check
 . if your samba controller is up and running.
 . if the domain SID is defined (you can get it with the
                                                    'net getlocalsid')

 . you can leave the configuration using the Crtl-c key combination
 . empty value can be set with the "." character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Looking for configuration files...

Samba Config File Location [/etc/samba/smb.conf] > 
smbldap-tools configuration file Location (global parameters)
                        [/etc/opt/IDEALX/smbldap-tools/smbldap.conf] > 
smbldap Config file Location (bind parameters) 
                   [/etc/opt/IDEALX/smbldap-tools/smbldap_bind.conf] > 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...

. workgroup name: name of the domain Samba act as a PDC
  workgroup name [MEGANET2] > 
. netbios name: netbios name of the samba controler
  netbios name [MASSIVE] > 
. logon drive: local path to which the home directory 
                    will be connected (for NT Workstations). Ex: 'H:'
  logon drive [H:] > 
. logon home: home directory location (for Win95/98 or NT Workstation)
  (use %U as username) Ex:'\\MASSIVE\%U'
  logon home (press the "." character if you don't want homeDirectory)
                                                     [\\MASSIVE\%U] > 
. logon path: directory where roaming profiles are stored. 
                                            Ex:'\\MASSIVE\profiles\%U'
  logon path (press the "." character
               if you don't want roaming profile) [\\%L\profiles\%U] >
. home directory prefix (use %U as username)
                                           [/home/%U] > /data/users/%U
. default users' homeDirectory mode [700] > 
. default user netlogon script (use %U as username)
                                                 [scripts\logon.bat] >
  default password validation time (time in days) [45] > 900
. ldap suffix [dc=abmas,dc=biz] > 
. ldap group suffix [ou=Groups] > 
. ldap user suffix [ou=People,ou=Users] > 
. ldap machine suffix [ou=Computers,ou=Users] > 
. Idmap suffix [ou=Idmap] > 
. sambaUnixIdPooldn: object where you want to store the next uidNumber
  and gidNumber available for new users and groups
  sambaUnixIdPooldn object (relative to ${suffix}) 
                                          [sambaDomainName=MEGANET2] > 
. ldap master server: IP adress or DNS name of the master 
                                                (writable) ldap server
  ldap master server [massive.abmas.biz] > 
. ldap master port [389] > 
. ldap master bind dn [cn=Manager,dc=abmas,dc=biz] > 
. ldap master bind password [] > 
. ldap slave server: IP adress or DNS name of the slave ldap server: 
                                            can also be the master one
  ldap slave server [massive.abmas.biz] > 
. ldap slave port [389] > 
. ldap slave bind dn [cn=Manager,dc=abmas,dc=biz] > 
. ldap slave bind password [] > 
. ldap tls support (1/0) [0] > 
. SID for domain MEGANET2: SID of the domain 
                      (can be obtained with 'net getlocalsid MASSIVE')
  SID for domain MEGANET2
                        [S-1-5-21-3504140859-1010554828-2431957765]] >
. unix password encryption: encryption used for unix passwords
  unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] > MD5
. default user gidNumber [513] > 
. default computer gidNumber [515] > 
. default login shell [/bin/bash] > 
. default skeleton directory [/etc/skel] > 
. default domain name to append to mail adress [] > abmas.biz
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
backup old configuration files:
  /etc/opt/IDEALX/smbldap-tools/smbldap.conf->
                        /etc/opt/IDEALX/smbldap-tools/smbldap.conf.old
  /etc/opt/IDEALX/smbldap-tools/smbldap_bind.conf->
                   /etc/opt/IDEALX/smbldap-tools/smbldap_bind.conf.old
writing new configuration file:
  /etc/opt/IDEALX/smbldap-tools/smbldap.conf done.
  /etc/opt/IDEALX/smbldap-tools/smbldap_bind.conf done.

Пока не сконфигурирован вторичный сервер LDAP, при настройке IP адресов основного (master) и вторичного (slave) серверов LDAP необходимо задать IP адрес основного сервера LDAP.

3. Пройдите в каталог, в котором находится файл smbldap.conf и проверьте его содержимое.

Скрипты smbldap-tools готовы к использованию.

Более подробно с инструментом smbldap-tools можно ознакомиться здесь, прим.перев.
(к началу страницы)

5.4.5. Инициализация LDAP и создание учетных записей пользователей и групп

Перед тем, как Samba может начать использоваться, база данных LDAP должна быть заполнена общеизвестными учетными записями пользователей и групп домена Windows. Следующие шаги проведут вас через этот процесс.

В этот раз Samba-3 нужно, чтобы на первичном контроллере домена (PDC) все учетные записи UNIX (POSIX), которые присоединены (связаны с) к учетным записям групп домена Windows были в базе данных LDAP. Нет ничего страшного в том, чтобы иметь учетные записи пользователей и групп UNIX в файлах системы так же, как и в базе данных LDAP. Из ракурса UNIX системы, NSS преобразователь (NSS resolver) проверяет файлы системы, прежде чем обращаться к LDAP. Если система UNIX может разрешить (найти) учетную запись в файле системы, ей не требуется опрашивать LDAP.

Присоединение учетной записи к бэкенду LDAP может быть сделано двумя способами:

  • Если вы всегда имеете учетную запись пользователя в файле /etc/passwd на каждом сервере или в NIS(+) бэкенде (Network Information Service, Информационная служба сети), нет необходимости добавлять для них учетные записи POSIX в LDAP. В этом случае вы можете добавить учетные записи пользователей домена Windows используя утилиту pdbedit. Использование этой утилиты из командной строки добавляет запись SambaSamAccount для пользователя, но не добавляет для него запись PosixAccount.

    Этот метод наименее желателен, потому что когда LDAP используется как бэкенд паролей Samba, предполагается, что учетная запись POSIX также будет присутствовать в LDAP. Можно использовать инструмент миграции учетных записей PADL для миграции всех системных учетных записей из файлов /etc/passwd или из NIS в LDAP.

  • Если вы решите, что лучшей идеей будет добавить для каждого пользователя как атрибуты PosixAccount, так и атрибуты SambaSamAccount, вам потребуется подходящий скрипт. В данном примере для этих целей вы выбрали использование скриптов Idealx smbldap-tools.
Если вы желаете иметь больше возможностей по контролю над инициализацией базы данных LDAP или вы не хотите пользоваться Idealx smbldap-tools, вы должны обратиться к Главе 15, «Сборник полезных советов», раздел 15.5..

В течение следующих шагов будет инициализирована база данных LDAP, затем вы сможете добавить учетные записи пользователей и групп, которые может использовать Samba. Вы используете smbldap-populate для создания первоначальной структуры базы данных LDAP. Затем вы в ручную добавите учетные записи, показанные в таблице 5.3.. Перечень пользователей не охватывает все 500 пользователей; он дан для примера.

Примечание: В следующих примерах по инициализации базы данных LDAP, мы будем создавать контейнер для учетных записей компьютеров (Computer). В файлах smb.conf для учетных записей членов домена специально оговорено использование контейнера People. Это не ошибка; это неслучайное действие, необходимое в обстоятельствах, когда разрешение учетных записей компьютеров по UID делается через NSS. Единственным способом, которым это может быть сделано является использование NSS (/etc/nsswitch.conf) для записи passwd, которому разрешено использование библиотеки nss_ldap. Конфигурационным файлом для библиотеки nss_ldap является файл /etc/ldap.conf который предоставляет только одну возможную поисковую LDAP команду, которая задана как запись, называемая nss_base_passwd. Это значит, что путь поиска должен учитывать структуру Каталога так, чтобы поиск LDAP начинался выше того уровня, где находятся контейнеры с записями о компьютерах (Computers) и контейнеры с записями о пользователях (Users или People). Если это сделано, следует использовать поиск, который осуществляется сверху вниз по дереву Каталога так, чтобы могли быть найдены учетные записи компьютеров. В качестве альтернативы, разместив все учетные записи компьютеров в контейнере People, мы можем обойти это ограничение. Это простое решение, которое было принято в этой главе.

Таблица 5.3. Группы и пользователи сети Abmas

Имя учетной записи Тип ID Пароль
Robert Jordan User bobj n3v3r2l8
Stanley Soroka User stans impl13dst4r
Christine Roberson User chrisr S9n0nw4ll
Mary Vortexis User maryv kw13t0n3
Accounts Group Accounts  
Finances Group Finances  
Finances Group PIOps  

Шаги по инициализации Каталога LDAP:

1. Запустите сервер LDAP выполнив:

root#  rcldap start
Starting ldap-server                           done

2. Пройдите в каталог /opt/IDEALX/sbin.

3. Запустите скрипт, который заполняет базу данных LDAP:

root#  ./smbldap-populate -a root -k 0 -m 0

Вывод после выполнения скрипта должен быть примерно таким:

Using workgroup name from smb.conf: sambaDomainName=MEGANET2
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=> Warning: you must update smbldap.conf configuration file to :
=> sambaUnixIdPooldn parameter must be set
	to "sambaDomainName=MEGANET2,dc=abmas,dc=biz"
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Using builtin directory structure
adding new entry: dc=abmas,dc=biz
adding new entry: ou=People,dc=abmas,dc=biz
adding new entry: ou=Groups,dc=abmas,dc=biz
entry ou=People,dc=abmas,dc=biz already exist.
adding new entry: ou=Idmap,dc=abmas,dc=biz
adding new entry: sambaDomainName=MEGANET2,dc=abmas,dc=biz
adding new entry: uid=root,ou=People,dc=abmas,dc=biz
adding new entry: uid=nobody,ou=People,dc=abmas,dc=biz
adding new entry: cn=Domain Admins,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Domain Users,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Domain Guests,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Domain Computers,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Administrators,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Print Operators,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Backup Operators,ou=Groups,dc=abmas,dc=biz
adding new entry: cn=Replicators,ou=Groups,dc=abmas,dc=biz

4. Отредактируйте файл /etc/smbldap-tools/smbldap.conf так, чтобы следующие строки:

# Where to store next uidNumber and gidNumber available
sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"

изменились на такие:

# Where to store next uidNumber and gidNumber available
#sambaUnixIdPooldn="cn=NextFreeUnixId,${suffix}"
sambaUnixIdPooldn="sambaDomainName=MEGANET2,dc=abmas,dc=biz"

5. После этого необходимо перезапустить сервер LDAP:

root#  rcldap restart
Shutting down ldap-server                            done
Starting ldap-server                                 done

6. Чтобы мы могли использовать глобальный архив IDMAP, мы должны иметь контейнерный объект для данных IDMAP. Имеется несколько путей для того, чтобы проверить, что ваша база данных LDAP может получать информацию IDMAP. Самое простое выполнить такую команду:

root#  slapcat | grep -i idmap
dn: ou=Idmap,dc=abmas,dc=biz
ou: idmap

Если эта команда не возвращает вам записи IDMAP, вам нужно создать шаблон файла LDIF (см. пример 5.5.5). Вы можете добавить требующиеся записи выполнив следующую команду:

root#  ldapadd -x -D "cn=Manager,dc=abmas,dc=biz" \
				-w not24get < /etc/openldap/idmap.LDIF

Когда потребуется, Samba автоматически заполнит этот контейнер Каталога LDAP.

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

oot#  slapcat
dn: dc=abmas,dc=biz
objectClass: dcObject
objectClass: organization
dc: abmas
o: abmas
structuralObjectClass: organization
entryUUID: 5ab02bf6-c536-1027-9d29-b1f32350fb43
creatorsName: cn=Manager,dc=abmas,dc=biz
createTimestamp: 20031217234200Z
entryCSN: 2003121723:42:00Z#0x0001#0#0000
modifiersName: cn=Manager,dc=abmas,dc=biz
modifyTimestamp: 20031217234200Z
...
dn: cn=Domain Computers,ou=Groups,dc=abmas,dc=biz
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 553
cn: Domain Computers
description: Netbios Domain Computers accounts
sambaSID: S-1-5-21-3504140859-1010554828-2431957765-553
sambaGroupType: 2
displayName: Domain Computers
structuralObjectClass: posixGroup
entryUUID: 5e0a41d8-c536-1027-9d3b-b1f32350fb43
creatorsName: cn=Manager,dc=abmas,dc=biz
createTimestamp: 20031217234206Z
entryCSN: 2003121723:42:06Z#0x0002#0#0000
modifiersName: cn=Manager,dc=abmas,dc=biz
modifyTimestamp: 20031217234206Z

Пока все выглядит хорошо.

8. Следующий шаг, доказывающий, что сервер LDAP запущен и отвечает на поисковые запросы заключается в выполнении такой команды:

root#  ldapsearch -x -b "dc=abmas,dc=biz" "(ObjectClass=*)"
# extended LDIF
#
# LDAPv3
# base  with scope sub
# filter: (ObjectClass=*)
# requesting: ALL
#

# abmas.biz
dn: dc=abmas,dc=biz
objectClass: dcObject
objectClass: organization
dc: abmas
o: abmas

# People, abmas.biz
dn: ou=People,dc=abmas,dc=biz
objectClass: organizationalUnit
ou: People
...
# Domain Computers, Groups, abmas.biz
dn: cn=Domain Computers,ou=Groups,dc=abmas,dc=biz
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 553
cn: Domain Computers
description: Netbios Domain Computers accounts
sambaSID: S-1-5-21-3504140859-1010554828-2431957765-553
sambaGroupType: 2
displayName: Domain Computers

# search result
search: 2
result: 0 Success

# numResponses: 20
# numEntries: 19

Хорошо, по прежнему все работает прекрасно.

9. Теперь вы должны убедиться, что NSS преобразователь (resolver) также способен опрашивать LDAP. Выполните такую команду:

root#  getent passwd | grep root
root:x:998:512:Netbios Domain Administrator:/home:/bin/false

root#  getent group | grep Domain
Domain Admins:x:512:root
Domain Users:x:513:
Domain Guests:x:514:
Domain Computers:x:553:

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

10. Сейчас наша база данных готова для добавления сетевых пользователей. Для каждого пользователя, для которого должна быть создана учетная запись, выполните такие действия:

root#  ./smbldap-useradd -m -a username
root#  ./smbldap-passwd username
Changing password for username
New password : XXXXXXXX
Retype new password : XXXXXXXX

root#  smbpasswd username
New SMB password: XXXXXXXX
Retype new SMB password: XXXXXXXX

Где username это ID каждого пользователя.

11. Теперь проверьте, что учетные записи UNIX (POSIX) могут разрешаться через NSS, выполнив такую команду:

root#  getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
...
root:x:0:512:Netbios Domain Administrator:/home:/bin/false
nobody:x:999:514:nobody:/dev/null:/bin/false
bobj:x:1000:513:System User:/home/bobj:/bin/bash
stans:x:1001:513:System User:/home/stans:/bin/bash
chrisr:x:1002:513:System User:/home/chrisr:/bin/bash
maryv:x:1003:513:System User:/home/maryv:/bin/bash

Это показывает, что разрешение (resolution) учетных записей пользователя посредством LDAP работает.

12. Этот шаг определяет, будет ли корректно работать авторизация. Не пропускайте этот шаг в случае ошибки, предпочтительнее найти причину сбоя. Команда id может быть использована для проверки достоверности вашейконфигурации так, как показано здесь:

root# id chrisr
uid=1002(chrisr) gid=513(Domain Users) groups=513(Domain Users)

Такой вывод подтверждает, что информация учетной записи UNIX (POSIX) пользователя может быть разрешена из LDAP системными инструментами, которые делает системный вызов getentpw() (см. шаг 11).

13. Учетная запись суперпользователя root имеет UID=0; если это не так, это может означать, что операции управления клиентами Windows с использованием таких утилит, как Менеджер Пользователей Домена (Domain User Manager) будут вызывать ошибки под UNIX, так как управление пользователями и группами требует, чтобы UID был равен нулю. В дополнение к этому хорошей идеей будет удостовериться, независимо от того, какие назначены привилегии учетной записи root, что верны установки домашнего каталога и оболочки. Вы решаете задать эти параметры непосредственно, так, как показано ниже:

root#  cd /opt/IDEALX/sbin
root#  ./smbldap-usermod -u 0 -d /root -s /bin/bash root

14. Проверьте, что только что сделанные изменения были применены к учетной записи root:

root#  getent passwd | grep root
root:x:0:0:root:/root:/bin/bash
root:x:0:512:Netbios Domain Administrator:/root:/bin/bash

Это показывает, что изменения были сделаны.

15. Убедитесь, что домашний каталог был создан для каждого пользователя, для этого просмотрите содержимое директории /home:

root#  ls -al /home
drwxr-xr-x   8 root   root         176 Dec 17 18:50 ./
drwxr-xr-x  21 root   root         560 Dec 15 22:19 ../
drwx------   7 bobj   Domain Users     568 Dec 17 01:16 bobj/
drwx------   7 chrisr Domain Users     568 Dec 17 01:19 chrisr/
drwx------   7 maryv  Domain Users     568 Dec 17 01:27 maryv/
drwx------   7 stans  Domain Users     568 Dec 17 01:43 stans/

Это как раз то, что мы хотели увидеть.

16. Конечный шаг включает в себя проверку того, что база Samba-3 включает учетные записи пользователей из бэкенда паролей passwd LDAP ldapsam. Выполните такую команду:

root#  pdbedit -Lv chrisr
Unix username:        chrisr
NT username:          chrisr
Account Flags:        [U          ]
User SID:             S-1-5-21-3504140859-1010554828-2431957765-3004
Primary Group SID:    S-1-5-21-3504140859-1010554828-2431957765-513
Full Name:            System User
Home Directory:       \\MASSIVE\homes
HomeDir Drive:        H:
Logon Script:         scripts\login.cmd
Profile Path:         \\MASSIVE\profiles\chrisr
Domain:               MEGANET2
Account desc:         System User
Workstations:
Munged dial:
Logon time:           0
Logoff time:          Mon, 18 Jan 2038 20:14:07 GMT
Kickoff time:         Mon, 18 Jan 2038 20:14:07 GMT
Password last set:    Wed, 17 Dec 2003 17:17:40 GMT
Password can change:  Wed, 17 Dec 2003 17:17:40 GMT
Password must change: Mon, 18 Jan 2038 20:14:07 GMT
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Это неплохо смотрится. Конечно, вы ожидали, что все будет работать, не так ли?

17. Теперь вы добавите учетные записи групп, которые будут использоваться в сети Abmas. Выполните команды, которые показаны ниже:

root#  ./smbldap-groupadd -a Accounts
root#  ./smbldap-groupadd -a Finances
root#  ./smbldap-groupadd -a PIOps

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

18. Сейчас вы хотите окончательно убедиться, что разрешение групп UNIX из LDAP работает, сделайте так:

root# getent group
...
Domain Admins:x:512:root
Domain Users:x:513:bobj,stans,chrisr,maryv
Domain Guests:x:514:
...
Accounts:x:1000:
Finances:x:1001:
PIOps:x:1002:

Общеизвестные специальные учетные записи (Администраторы домена, пользователи домена, гости домена - Domain Admins, Domain Users, Domain Guests), а также наши собственные определенные нами учетные записи групп корректно просматриваются. Это замечательно.

19. В финале мы должны проверить, что Samba может увидеть все группы домена Windows и что они корректно присоединены к соответствующим учетным записям UNIX. Для этого выполните следующую команду:

root#  net groupmap list
Domain Admins (S-1-5-21-3504140859-...-2431957765-512) -> Domain Admins
Domain Users (S-1-5-21-3504140859-...-2431957765-513) -> Domain Users
Domain Guests (S-1-5-21-3504140859-...-2431957765-514) -> Domain Guests
...
Accounts (S-1-5-21-3504140859-1010554828-2431957765-3001) -> Accounts
Finances (S-1-5-21-3504140859-1010554828-2431957765-3003) -> Finances
PIOps (S-1-5-21-3504140859-1010554828-2431957765-3005) -> PIOps

Если вы увидите что-то подобное, это хорошо. Поздравляю — это работает! Заметьте, что в выводе, представленном выше строки были сокращены, в скобках было убрано среднее значение 1010554828.

20. Сервер, который вы так аккуратно выстраивали, готов к последующему важному шагу. Вы запустите сервер Samba и сделайте так, чтобы все требуемые процессы автоматически запускались после перезагрузки:

root#  chkconfig named on
root#  chkconfig dhcpd on
root#  chkconfig ldap on
root#  chkconfig nmb on
root#  chkconfig smb on
root#  chkconfig winbind on
root#  rcnmb start
root#  rcsmb start
root#  rcwinbind start

21. Следующий шаг может показаться несколько лишним на данном этапе, но заметьте, что вы собираетесь запускать winbindd, который должен быть способен аутентифицироваться в PDC посредством интерфейса локального хоста (PDC via the localhost interface) с процессом smbd. Эта учетная запись может быть легко создана присоединением PDC к домену следующей командой:

root#  net rpc join -S MASSIVE -U root%not24get

Примечание: перед выполнением этой команды на PDC, и демон nmbd и smbd должны быть запущены, чтобы команда net могла соединиться с smbd. Вы должны получить такой вывод:

Joined domain MEGANET2

Это указывает, что доменная учетная запись для PDC была создана правильно.

22. Теперь необходимо перезапустить winbindd, чтобы он мог корректно аутентифицироваться в PDC:

root#  rcwinbind restart

23. Сейчас вы можете проверить работоспособность Samba-3:

root#  smbclient -L massive -U%

        Sharename      Type      Comment
        ---------      ----      -------
        IPC$           IPC       IPC Service (Samba 3.0.20)
        accounts       Disk      Accounting Files
        service        Disk      Financial Services Files
        pidata         Disk      Property Insurance Files
        apps           Disk      Application Files
        netlogon       Disk      Network Logon Service
        profiles       Disk      Profile Share
        profdata       Disk      Profile Data Share
        ADMIN$         IPC       IPC Service (Samba 3.0.20)

        Server               Comment
        ---------            -------
        MASSIVE              Samba 3.0.20

        Workgroup            Master
        ---------            -------
        MEGANET2             MASSIVE

24. В конце попробуем сделать аутентифицированное соединение:

root#  smbclient //massive/bobj -Ubobj%n3v3r2l8
smb: \> dir
  .                    D        0  Wed Dec 17 01:16:19 2003
  ..                   D        0  Wed Dec 17 19:04:42 2003
  bin                  D        0  Tue Sep  2 04:00:57 2003
  Documents            D        0  Sun Nov 30 07:28:20 2003
  public_html          D        0  Sun Nov 30 07:28:20 2003
  .urlview             H      311  Fri Jul  7 06:55:35 2000
  .dvipsrc             H      208  Fri Nov 17 11:22:02 1995

          57681 blocks of size 524288. 57128 blocks available
smb: \> q

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

5.4.6. Настройка печати

В файле smb.conf мы уже позаботились о такой настройке для Samba-3, чтобы дать возможность печати CUPS в raw-режиме. Поэтому подготовка включает в себя только подготовку «умной» (smart) печати и создание директорий, в которых Samba-3 будет хранить драйверы принтеров для Windows.

Шаги по настройке печати:

1. Назначьте всем сетевым принтерам постоянные IP-адреса.

2. Создайте запись в базе данных DNS на сервере MASSIVE в обеих базах данных прямого просмотра для зоны abmas.biz.hosts и обратного для сегмента сети, в которой находится принтер. Примеры конфигурационных файлов для подобных зон представлены в Главе 3 «Безопасная офисная сеть», примеры 3.3.12. и 3.3.11..

3. Выполните инструкции из руководства изготовителя принтера, чтобы разрешить печать через порт 9100. Используйте любой другой порт заданный изготовителем для режима прямой необработанной печати (raw printing). Это позволит спулеру CUPS печатать, используя протоколы необработанного режима (raw-режим).

4. Только на том сервере только, к которому присоединены принтеры, настройте очереди печати:

root# lpadmin -p printque -v socket://printer-name.abmas.biz:9100 -E

Этот шаг создаст необходимые очереди печати без настройки фильтра принтера. Это хорошо для raw-печати, так как позволяет не использовать фильтр. Имя printque это имя вашего отдельно взятого принера.

5. Возможно очереди печати не будут задействованы во время создания. Если необходимо, удостоверьтесь, что очереди, которые вы только что создали, запущены:

root#  /usr/bin/enable printque

6. Хотя ваши очереди печати могут быть запущены, все еще есть вероятность, что они не будут воспринимать задания печати. Сервисы очереди печати начинают печатать только когда осуществлена их настройка. Проверьте, задано ли вашим очередям печати принимать задания для выполнения печати посредством следующей команды:

root#  /usr/bin/accept printque

7. Отредактируйте файл /etc/cups/mime.convs, раскомментировав нижеприведенную строку:

application/octet-stream     application/vnd.cups-raw      0     -

8. Отредактируйте файл /etc/cups/mime.types, раскомментировав нижеприведенную строку:

application/octet-stream

9. Ознакомьтесь с руководством CUPS, чтобы узнать, как настроить CUPS так, чтобы очереди печати, которые находятся на серверах CUPS в удаленных сетях переправляли очереди печати на тот сервер печати, которому принадлежит очередь. Настройки по умолчанию вашего сервера CUPS могут автоматически обнаруживать удаленно установленные принтеры и могут разрешать такую функцию без дополнительных настроек.

10. Следующие действия создадут необходимую подсистему папок. Следуйте этим шагам, чтобы сделать вашу печать беcпроблемной:

root# mkdir -p /var/lib/samba/drivers/{W32ALPHA,W32MIPS,W32X86,WIN40}
root# chown -R root:root /var/lib/samba/drivers
root# chmod -R ug=rwx,o=rx /var/lib/samba/drivers

(к началу страницы)

5.5. Настройка вторичного контроллера домена BDC на Samba-3

Настройка BDC BLDG1:

1. Поместите файлы из примеров 5.5.1., 5.5.3., и 5.5.4. в папку /etc/samba. Эти три файла должны быть объединены в один файл smb.conf.

2. Проверьте файл smb.conf как в шаге 2 раздела 5.4.3..

3. Внимательно следуйте шагам, показанным в разделе 5.4.2., делайте записи аккуратно, чтобы корректно создать файл ldap.conf.

4. Проверьте, что NSS преобразователь (NSS resolver) работает. Вы, возможно, должны будете циклически повторить запуск уровня 1 и обратно к 5 перед использованием функций NSS LDAP преобразователя. Выполните следующее:

root# init 1

После запуска уровня вам будет предложено ввести пароль root, выполните вход под учетной записью root, а затем введите:

root# init 5

Когда появится обычное приглашение для входа, войдите в систему как root и выполните команду:

root# getent passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
lp:x:4:7:Printing daemon:/var/spool/lpd:/bin/bash
mail:x:8:12:Mailer daemon:/var/spool/clientmqueue:/bin/false
...
root:x:0:512:Netbios Domain Administrator:/root:/bin/bash
nobody:x:999:514:nobody:/dev/null:/bin/false
bobj:x:1000:513:System User:/home/bobj:/bin/bash
stans:x:1001:513:System User:/home/stans:/bin/bash
chrisr:x:1002:513:System User:/home/chrisr:/bin/bash
maryv:x:1003:513:System User:/home/maryv:/bin/bash
vaioboss$:x:1005:553:vaioboss$:/dev/null:/bin/false
bldg1$:x:1006:553:bldg1$:/dev/null:/bin/false

Такой вывод корректен. Вот если вы не увидите учетных записей, которые имеют UID больше, чем 512, значит у вас что-то не в порядке.

5. Следующий шаг в процессе проверки включает в себя тестирование возможности разрешения групп UNIX посредством преобразователя NSS LDAP (NSS LDAP resolver). Выполните команду:

root# getent group
root:x:0:
bin:x:1:daemon
daemon:x:2:
sys:x:3:
...
Domain Admins:x:512:root
Domain Users:x:513:bobj,stans,chrisr,maryv,jht
Domain Guests:x:514:
Administrators:x:544:
Users:x:545:
Guests:x:546:nobody
Power Users:x:547:
Account Operators:x:548:
Server Operators:x:549:
Print Operators:x:550:
Backup Operators:x:551:
Replicator:x:552:
Domain Computers:x:553:
Accounts:x:1000:
Finances:x:1001:
PIOps:x:1002:

Это также является верным и желательным выводом после данной команды, так как это демонстрирует, что клиент LDAP может корректно соединиться с сервером LDAP (MASSIVE).

6. Сейчас вы должны записать пароль администратора LDAP в файл Samba-3 secrets.tdb выполнив такую команду:

root# smbpasswd -w not24get
Setting stored password for "cn=Manager,dc=abmas,dc=biz" in secrets.tdb

7. Теперь вы должны получить SID домена от PDC и также сохранить его в файле secrets.tdb. Этот шаг не является необходимым при использовании бэкенда passdb LDAP , потому что Samba-3 получает SID домена от объекта sambaDomain и он автоматически сохраняется в бэкенде LDAP. Но не повредит добавить SID в файл secrets.tdb, и если вы желаете сделать это, выполните следующее:

root#  net rpc getsid MEGANET2
Storing SID S-1-5-21-3504140859-1010554828-2431957765 for Domain MEGANET2 in secrets.tdb

При конфигурировании Samba-3 в роли BDC, который имеет бэкенд LDAP, нет никакой необходимости применять какие-то специальные действия для введения его в домен. В тоже время, winbind поддерживает связь с контроллером домена, который запущен на локальном хосте и должен быть доступен для аутентификации, требуя таким образом, чтобы BDC был введен в домен. Процесс включения в домен создаст необходимые аутентификационные учетные записи.

8. Для включения BDC в домен выполните такую команду:

root# net rpc join -U root%not24get
Joined domain MEGANET2.

Это указывает, что доменная учетная запись для BDC была успешно создана.

9. Проверьте, что разрешение учетных записей пользователей и групп работает посредством инструментов Samba-3:

root# pdbedit -L
root:0:root
nobody:65534:nobody
bobj:1000:System User
stans:1001:System User
chrisr:1002:System User
maryv:1003:System User
bldg1$:1006:bldg1$
root# net groupmap list
Domain Admins (S-1-5-21-3504140859-...-2431957765-512) -> Domain Admins
Domain Users (S-1-5-21-3504140859-...-2431957765-513) -> Domain Users
Domain Guests (S-1-5-21-3504140859-...-2431957765-514) -> Domain Guests
Administrators (S-1-5-21-3504140859-...-2431957765-544) -> Administrators
...
Accounts (S-1-5-21-3504140859-1010554828-2431957765-3001) -> Accounts
Finances (S-1-5-21-3504140859-1010554828-2431957765-3003) -> Finances
PIOps (S-1-5-21-3504140859-1010554828-2431957765-3005) -> PIOps

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

10. Сервер, который вы так аккуратно выстраивали, готов к последующему важному шагу. Сейчас запустите сервер Samba-3 и проведите эту операцию. Сделайте так, чтобы все требуемые процессы автоматически запускались после перезагрузки:

root# chkconfig named on
root# chkconfig dhcpd on
root# chkconfig nmb on
root# chkconfig smb on
root# chkconfig winbind on
root# rcnmb start
root# rcsmb start
root# rcwinbind start

Теперь Samba-3 должен быть запущен и готов к быстрому тестированию. Но есть еще кое-что!

11. Ваши новые серверы BLDG1 и BLDG1 не имеют домашних каталогов пользователей. Чтобы исправить это, воспользуйтесь утилитой SUSE Yast2 или вручную отредактируйте файл /etc/fstab и добавьте запись о монтировании каталога home, который был экспортирован с сервера MASSIVE. Примонтируйте этот каталог перед продолжением Альтернативный подход может заключаться в создании локальных домашних каталогов для пользователей, которые используют эти компьютеры. Этот выбор должны сделать вы, как системный администратор. Следующей записи в файле /etc/fstab будет достаточно:

massive.abmas.biz:/home /home nfs rw 0 0

Примонтируйте этот ресурс:

root# mount -a

Проверьте, что домашний каталог был примонтирован:

root# df | grep home
massive:/home 29532988 283388 29249600 1% /home

12. Сделайте быструю проверку, используя учетную запись одного из пользователей, которая есть в базе данных LDAP:

root# smbclient //bldg1/bobj -Ubobj%n3v3r2l8
smb: \> dir
. D 0 Wed Dec 17 01:16:19 2003
.. D 0 Wed Dec 17 19:04:42 2003
bin D 0 Tue Sep 2 04:00:57 2003
Documents D 0 Sun Nov 30 07:28:20 2003
public_html D 0 Sun Nov 30 07:28:20 2003
.urlview H 311 Fri Jul 7 06:55:35 2000
.dvipsrc H 208 Fri Nov 17 11:22:02 1995
57681 blocks of size 524288. 57128 blocks available
smb: \> q

Теперь, когда первый BDC (BDLG1) был настроен, самое время заняться конфигурированием второго BDC (BDLG2).

Шаги по настройке BDC BDLG2:

1. Поместите файлы из примеров 5.5.2., 5.5.3., и 5.5.4. в папку /etc/samba. Эти три файла должны быть объединены в один файл smb.conf.

2. Внимательно следуйте шагам из раздела 5.5., начиная с шага 2.
(к началу страницы)

5.6. Прочие задачи подготовки сервера

Мой отец однажды сказал: «Обед не закончен, пока не закончилась еда». Построение большой сетевой среды отнимает много сил и внимания к деталям. К настоящему времени вы завершили большинство сложных шагов по настройке сервера, интересующие многих администраторов, но не забудьте связать все это вместе. Ниже представлены еще несколько моментов, после выполнения которых ваша сеть будет работать так, будто играет часто и интенсивно репетирующий оркестр.

5.6.1. Настройка корневого общего ресурса

В вашем файле smb.conf определены общие ресурсы Windows. Каждый из них имеет параметр path. При всей своей очевидности, одной из общих проблем при работе с Samba является то, что забывают проверить физическое существование такого корневого общего ресурса и есть ли у него необходимые разрешения и владельцы.

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

root# mkdir -p /data/{accounts,finsvcs,piops}
root# mkdir -p /apps
root# chown -R root:root /data
root# chown -R root:root /apps
root# chown -R bobj:Accounts /data/accounts
root# chown -R bobj:Finances /data/finsvcs
root# chown -R bobj:PIOps /data/piops
root# chmod -R ug+rwxs,o-rwx /data
root# chmod -R ug+rwx,o+rx-w /apps

(к началу страницы)

5.6.2. Настройка каталогов профилей

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

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

root#  mkdir -p /var/lib/samba/profdata
root#  chown root:root /var/lib/samba/profdata
root#  chmod 755 /var/lib/samba/profdata

# структура для каждого пользователя
root#  cd /var/lib/samba/profdata
root#  mkdir -p username
root#  for i in InternetFiles Cookies History AppData[пробел]
LocalSettings MyPictures MyDocuments Recent
root#  do
root#  mkdir username/$i
root#  done
root#  chown -R username:Domain\Users username
root#  chmod -R 750 username
root#  chmod -R 750 username

У вас есть три свойства касательно динамически загружаемой части перемещаемого профиля, которые вызывают интерес:

  • Вы можете разрешить пользователю загружать профиль по умолчанию;

  • Вы можете создать обязательный к использованию профиль;

  • Вы можете создать групповой профиль (которым почти всегда является обязательный профиль).
Обязательные профили не могут быть перезаписаны пользователями. Замена профиля пользователя на обязательный профиль вызвана переименованием файла NTUSER.DAT в NTUSER.MAN (от mandatory - обязательный, прим.перев.), то есть лишь изменением расширения файла.

Местонахождение профиля, который может получить пользователь, задано в учетной записи пользователя в бэкенде LDAP passdb. Вы можете управлять этим используя Idealx smbldap-tools или Windows NT4 Domain User Manager (Диспетчер учетных записей домена).
(к началу страницы)

5.6.3. Подготовка сценариев входа (logon scripts)

Использование сценария входа с Windows XP Professional это та возможность, которая рассматривается в каждом сайте (имеется ввиду не Интернет-сайт, а локальная обособленная сеть). Пока вы не блокировали рабочую станцию так, что пользователь ничего не может поменять, существует риск того, что настройки сетевых дисков могут быть нарушены, а контакт с принтерами потерян. Сценарии входа могут помочь поддерживать подключение постоянных сетевых папок (дисков) и контакт с принтерами известным способом. Одна из таких ситуаций, в которой это может произойти, это подключение компьютера (в частности ноутбука) к другой сети и получение ее настроек.

Если вы решите использовать сценарии входа в сеть, обратитесь к файлам smb.conf всех ваших контроллеров домена, и вы увидите, что путь к ресурсу NETLOGON задан как /var/lib/samba/netlogon. Путь, который описан для сценария входа внутри этого ресурса это scripts\logon. Это значит, что как только клиенты Windows NT/200x/XP входят в сеть, они пытаются получить файл logon.bat из полностью определенного пути /var/lib/samba/netlogon/scripts/. Этот полностью определенный путь, конечно, должен существовать и содержать файл logon.bat. Разумеется, вы можете создать полностью определенный путь такой командой:

root# mkdir -p /var/lib/samba/netlogon/scripts

Вы можете более подробно изучить возможности для применения сценариев входа обратившись к Главе 24, раздел 24.4, TOSHARG2.Также вы можете обратиться к web-поиску. Одним из наиболее популярных на момент написания книги средств для написания сценариев является KiXtart.
(к началу страницы)

5.6.4. Установка прав и привилегий пользователей

Возможность выполнения задач, например, таких, как включение клиентов Windows в домен, может быть делегирована обычной учетной записи пользователя. По умолчанию только под учетной записью администратора домена (в UNIX это root, так как он имеет UID=512), можно добавлять учетные записи (пользователей или компьютеров). Начиная с Samba-3.0.11 существует возможность предоставлять эту привилегию в очень ограниченной форме особенным учетным записям. По умолчанию, даже Samba-3.0.11 не предоставляет подобных прав даже группе Администраторы домена (Domain Admins). Здесь мы предоставляем этой группе все привилегии.

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

Шаги по установке прав и привилегий пользователей:

1. Войдите на PDC под учетной записью root.

2. Выполните следующую команду для предоставления группе Администраторы домена (Domain Admins) всех прав и привилегий:

root# net -S MASSIVE -U root%not24get rpc rights grant "MEGANET2\Domain Admins"[пробел]
SeMachineAccountPrivilege SePrintOperatorPrivilege SeAddUsersPrivilege[пробел]
SeDiskOperatorPrivilege SeRemoteShutdownPrivilege
Successfully granted rights

Повторите эти шаги на каждом контроллере домена, каждый раз заменяя имя сервера MASSIVE на BLDG1 и BLDG2.

3. В этом шаге будут даны права на включение рабочих станций Windows в домен пользователю Bob Jordan (bobj). Выполните следующую команду только на PDC. Не является необходимым делать это на ваших BDC или на компьютерах DMS (десктопах), поскольку учетные записи компьютеров всегда добавляются только на PDC:

root# net -S MASSIVE -U root%not24get rpc rights grant "MEGANET2\bobj"[пробел]
		SeMachineAccountPrivilege
Successfully granted rights

4. Проверьте, что установка прав прошла успешно:

net rpc rights list accounts -Uroot%not24get
MEGANET2\bobj
SeMachineAccountPrivilege
S-0-0
No privileges assigned
BUILTIN\Print Operators
No privileges assigned
BUILTIN\Account Operators
No privileges assigned
BUILTIN\Backup Operators
No privileges assigned
BUILTIN\Server Operators
No privileges assigned
BUILTIN\Administrators
No privileges assigned
Everyone
No privileges assigned
MEGANET2\Domain Admins
SeMachineAccountPrivilege
SePrintOperatorPrivilege
SeAddUsersPrivilege
SeRemoteShutdownPrivilege
SeDiskOperatorPrivilege

(к началу страницы)

5.7. Настройка клиентов Windows

В нескольких последующих разделах вы сможете настроить новый образ диска Microsoft Windows XP на эталонном компьютере. На этой станции вы сконфигурируете все программное обеспечение, настройки принтеров, управление профилем и локальными политиками безопасности, а также настройки профиля рабочей станции по умолчанию. По окончанию вы скопируете все содержимое папки C:\Documents and Settings\Default User в папку с тем же самым именем в ресурс NETLOGON на контроллерах домена. Много полезной информации о настройке общего профиля вы можете узнать на сайте поддержки Microsoft. Особый интерес представляет статья базы знаний: How to Create a Base Profile for All Users («Как создать базовый профиль для всех пользователей»).

5.7.1. Настройка профиля по умолчанию и перенаправление папок

Войдите на рабочую станцию Windows XP как локальный администратор. Включите отображение скрытых и системных папок (по умолчанию они не отображаются), чтобы увидеть папку Default User.

Включение отображения скрытых папок:

1. Нажмите Пуск->Мой_Компьютер->Сервис->Свойста_Папки->вкладка_Вид. Выберите Отображать скрытые файлы и папки и щелкните b>Ок. Выйдите из проводника Windows.

2. Запустите редактор реестра. Нажмите Пуск->Выполнить и введите команду regedt32, щелкните Ок.

Перенаправление папок в системном профиле пользователя по умолчанию:

1. Выберите в левой панели куст HKEY_LOCAL_MACHINE, щелкните Файл->Загрузить_куст->Documents_and_Settings-> Default_User->NTUSER->Открыть. В октрывшемся диалоговом окне введите имя Default и нажмите .

2. Взгляните внутрь только что загруженной папки Default по адресу:

HKEY_USERS\Default\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\

В правой панели вы увидите ее содержимое, оно показано на рисунке 5.3..

Рисунок 5.3. Windows XP Professional — User Shared Folders

Windows XP Professional — User Shared Folders

Рисунок 5.3.ru Windows XP Professional — User Shared Folders руссифицированная версия

Windows XP Professional — User Shared Folders руссифицированная версия

3. Отредактируйте ключи реестра. Для изменения %USERPROFILE% доступны строки включая:

  • буква диска, такая как U:;

  • непосредственный сетевой путь \\MASSIVE\profdata;

  • сетевое перенаправление (UNS name - полное имя ресурса в сети), которое включает macro, такое как %LOGONSERVER%\profdata\.
4. Установите ключи реестра, как показано в таблице 5.4.. Ваша реализация будет исходить из того, что пользователи имеют стационарные компьютеры. Ноутбуки (мобильные пользователи) должны будут согласиться использовать локальные пользовательские профили. Это частое допущение.

Таблица 5.4. Перенаправление профиля по умолчанию

Ключ реестра Строка перенаправления
Cache %LOGONSERVER%\profdata\%USERNAME%\InternetFiles
Cookies %LOGONSERVER%\profdata\%USERNAME%\Cookies
History %LOGONSERVER%\profdata\%USERNAME%\History
Local AppData %LOGONSERVER%\profdata\%USERNAME%\Local Settings\Application Data
Local Settings %LOGONSERVER%\profdata\%USERNAME%\LocalSettings
My Pictures %LOGONSERVER%\profdata\%USERNAME%\MyPictures
Personal %LOGONSERVER%\profdata\%USERNAME%\MyDocuments
Recent %LOGONSERVER%\profdata\%USERNAME%\Recent

5. Щелкните на корень загруженного куста Default. Нажмите Файл->Выгрузить_куст->Ок.

6. Закройте редактор реестра.

7. Теперь выполните процедуры, описанные в разделе 5.3.1.3.. Убедитесь, что каждая папка, которую вы перенаправили, находится в списке исключений.

8. Теперь вы готовы к тому, чтобы скопировать профиль пользователя по умолчанию на контроллеры домена (существует альтернативный способ, чтобы добавить профиль пользователя по умолчанию в ресурс NETLOGON. Это средство системного инструмента Windows, которое позволяет экспортировать профили. Объектом экспорта может быть частный пользовательский или групповой профильный ресурс или иначе ресурс NETLOGON. В этом случае каталог профиля должен называться Default User). Запустите Проводник Windows, используйте его, чтобы скопировать все содержимое каталога Default User, которая находится в папке C:\Documents and Settings в корень ресурса NETLOGON. Если ресурс NETLOGON имеет путь, определенный в UNIX как /var/lib/samba/netlogon, то по окончании копирования в нем окажется каталог Default User.

Перед снятием нового образа рабочей станции для клиентских компьютеров Windows, возможно хорошей идеей будет вернуть оригинальные настройки Microsoft:

1. Нажмите Пуск->Мой_Компьютер->Сервис->Свойста_Папки->вкладка_Вид. Отключите режим Отображать скрытые файлы и папки и щелкните Ок.
(к началу страницы)

5.7.2. Настройка MS Outlook и переопределение места файла PST

MS Outlook может хранить файл личных папок (Personal Storage file), обычно называемый PST файлом. Свойством такого почтового файла является то, что его размер постоянно растет. Поэтому, чтобы почта пользователей была доступна им с любой рабочей станции, на которую они войдут, является обычной практикой в верно-спланированных сетях перенаправление папки PST в домашний каталог пользователя. Выполните эти шаги для каждого пользователя, который желает это сделать (действия актуальны для MS Outlook 2003, в более ранних версиях есть некоторые отличия):

1. Закройте Outlook, если он открыт.

2. В панели управления запустите компонент Почта.

3. Щелкните Учетные записи.

4. Запомните, где размещаются файл(ы) PST. Переместите все файлы из этого места в требуемое новое место. Чаще всего предпочтительное место может быть в домашнем каталоге пользователя (c:\Documents and Settings\имя_пользователя\Local Settings\Application Data\Microsoft\Outlook\, прим.перев.).

5. Добавьте новый файл данных, выбрав PST файл в новом предпочтительном месте. Дайте этой записи (не имени файла) новое имя, например «Личные почтовые папки». 6. Затем в в меню Файлы данных создайте новый файл PST и сделайте его используемым по умолчанию (Сервис->Учетные_записи_электронной_почты->Просмотреть_или_изменить_имеющиеся_учетные_записи->Размещать_новую_почту_в_папке), а затем дефолтный файл PST удалите через Панель_управления->Почта->Файлы_данных.

Примечание 1: если MS Outlook настроен на использование настроек учетных записей IMAP (Interactive Mail Access Protocol, протокол интерактивного доступа к электронной почте), то далее могут возникнуть проблемы с этой инструкцией. Обратная связь от пользователей (Feedback from users) предполагает, что там, где IMAP использует PST файл, он используется для хранения правил и фильтров. Когда PST хранилище перемещено, это проявляется в неактивности кнопок MS Outlook Отправить и получить. Если кому-то удалось успешно переместить PST файлы, где используется IMAP, напишите мне письмо на адрес jht@samba.org с полезными советами и предложениями, так, чтобы представленное здесь предостережение было удалено или модифицировано.

Примечание 2: возможно вам придется удалить и заново установить записи адресной книги MS Outlook (Контакты), в противном случае может получиться, что пользователю будет невозможно найти контакты, при выборе адреса в новом почтовом сообщении.

Outlook Express это не тоже самое, что MS Outlook. Также он совсем по другому сохраняет файлы. Хранилище файлов Outlook Express может не перенаправляться на сетевой ресурс. Панель опций не позволит это, но они могут быть перемещены в папку за пределами профиля пользователя. Также они могут быть исключены из процесса синхронизации папок, как часть перемещаемого профиля.

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

Но как и в MS Outlook, хранилище данных Outlook Express может стать слишком большим. При использовании перемещаемых профилей это может вызвать долгий процесс входа в систему, а также выход из нее, в то время как будут синхронизироваться файлы. Поэтому настоятельно не рекомендуется использовать Outlook Express с применением перемещаемых профилей.

Microsoft не поддерживает сохранение PST файлов на сетевые ресурсы, несмотря на то, что эта практика довольно популярна. Любой, кто перемещает PST файл на сетевой ресурс, должен обратиться к справочной информации Microsoft (http://support.microsoft.com/kb/297019) для лучшего понимания этой проблемы.

Другая возможность, кроме ручного перемещения PST файлов на сетевой ресурс, состоит в размещении файлов PST по умолчанию для новых учетных записей путем следования инструкциям с сайта WindowsITPro.

Обратная связь пользователя (user feedback) предполагает, что отключение блокировок oplocks на PST-файлах значительно улучшит производительность сети, ослабляя блокирование издержек. Одним из способов, которым можно этого добиться, является добавление строки в файл smb.conf для ресурса PST-файлов:

veto oplock files = /*.pdf/*.PST/

(к началу страницы)

5.7.3. Настройка удаления кэша профиля при выходе из системы

Настройка клиента Windows XP Professional для автоматического удаления перемещаемого профиля при выходе из системы:

Нажмите Пуск->Выполнить. Наберите команду gpedit.msc, пройдите Политика_«Локальный компьютер»-> Административные_шаблоны->Система->Профили_пользователей. В правой панели установите:

  • Не проверять собственность пользователя перемещаемого профиля - Включен;

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

5.7.4. Загрузка драйверов принтера на серверы Samba

Пользователи хотят иметь возможность работы с сетевыми принтерами. Логично, что вы хотите сделать для них этот процесс проще. Вы выбрали установку драйверов принтера на серверы Samba, чтобы позволить drag-and-drop печать. В результате этого станет возможным автоматическое предоставление сервером Samba необходимого драйвера выбранного принтера клиентам Windows. Следующие операции должны быть сделаны для каждого сетевого принтера.

Шаги по установке драйверов принтера на сервер Samba:

1. Введите вашу рабочую станцию с Windows XP Professional в домен MEGANET2. Если вы испытываете трудности с этой операцией, обратитесь к Главе 15, «Сборник полезных советов», раздел 15.1..

2. После того, как компьютер будет перезагружен, войдите на рабочую станцию под учетной записью root (учетной записью администратора домена).

3. Запустите Проводник MS Windows. Передвигайтесь в левой панели, выберите Сетевое_окружение->Вся_сеть-> Microsoft_Windows_Network-Meganet2-Massive. Теперь войдите в папку Принтеры и факсы.

4. Идентифицируйте принтер, который вы увидите в правой панели. Предположим это принтер под названием ps01-color. Щелкните правой клавишей мышки по иконке принтера ps01-color и выберите Свойства. Откроется диалоговое окно, которое проинформирует вас о том, что Драйвер принтера ps01-color не установлен на этом компьютере. Некоторые свойства принтера будут не доступны до тех пор, пока не установлен драйвер принтера. Установить этот драйвер?. Важно в этом месте сказать Нет.

5. На панели свойств принтера ps01-color сервера MASSIVE перейдите на вкладку Дополнительно. Заметьте, что строка Драйвер пуста. Щелкните кнопку Сменить.

6. Перед вами появится окно Мастер установки драйверов принтера на "MASSIVE". Щелкните Далее для продолжения. В левой панели выберите производителя принтера. В правой выберите модель. Щелкните Далее, а затем Готово для начала загрузки драйверов.

7. Загрузка драйверов (собственно это процесс установки драйверов, прим.перев.) займет время от нескольких секунд до нескольких минут. Когда она закончится, вы вернетесь во вкладку Дополнительно панели Свойства. На вкладке Общие вы можете указать Размещение, а во вкладке Безопасность установить настройки безопасности. Во вкладке Доступ можно загрузить дополнительные драйверы для этого принтера; также здесь есть флажок Внести в Active Directory, если вы установите общий доступ к этому принтеру и включите этот флажок, принтер будет опубликован в Active Directory (применяется только при использовании Active Directory).

8. Щелкните Ок. Около минуты займет загрузка настроек на сервер. Вернитесь в папку Принтеры и факсы. Щелкните правой клавишей по принтеру, выберите Свойства->Параметры_устройства. Настройте принтер согласно вашим предпочтениям. ДЕЛАЙТЕ ИЗМЕНЕНИЯ АККУРАТНО, ДАЖЕ ЕСЛИ ЭТО ВСЕГО ОДНА НАСТРОЙКА, и нажмите Применить, если вы затем решили вернуть настройки обратно, вас опять следует нажать эту кнопку, чтобы изменения вступили в силу.

9. Необходимо, чтобы настройки принтера были инициализированы в базе данных принтеров Samba. Щелкните Применить после каких-либо изменений в настройках принтера.

10. Проверьте, что все настройки принтера соответствуют желаемым. Когда вы убедитесь, что это так, перейдите на вкладку Общие. Теперь нажмите кнопку Печать пробной страницы. Будет напечатана тестовая страница. Проверьте, что с ней все в порядке. Щелкните Ок на панели Cвойства принтера ps01-color сервера MASSIVE.

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

5.7.5. Установка программного обеспечения

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

Для настольных систем много преимуществ имеет установка программного обеспечения на централизованный сервер приложений. Это значит, что вы можете управлять сопровождением программного обеспечения централизованно, и что на стационарные компьютеры потребуется установить лишь минимальный набор ПО. Вы должны продолжить настройку программного обеспечения в конфигурации по умолчанию до той степени, пока это будет иметь смысл и будет целесообразно. Убедитесь, что весь процесс установки программного обеспечения протестирован и проверен.

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

5.7.6. Создание образа

Финальными шагами перед созданием образа программой Norton Ghost могут быть такие:

  • вывод станции из домена. Каждой рабочей станции требуется уникальное имя и должна быть независимо введена в домен;

  • дефрагментация жесткого диска. Это не так очевидно для непосвященных, но дефрагментация часто позволяет улучшить производительность, а также позволяет получить образ меньшего размера. Последнее означает, что у вас уйдет меньше времени при разворачивании такого образа на 500 рабочих станций.
(к началу страницы)

5.8. Основные моменты изученного

Эта глава включает много новых концепций. Печальный факт в том, что представленный пример намеренно уклонялся от рассмотрения каких-либо вопросов безопасности. Безопасность не сиюминутна, вы должны заботиться о ней во всей вашей сети постоянно. Безопасность начинается с проектов систем и внедрения, которое упреждает опасное поведение пользователей как внутри, так и вне организации. Опасные враждебно настроенные злоумышленники не признают барьеров; они принимают их как вызов. По этой причине, если вы имеете желание сделать вашу сеть безопасной, не применяйте решения, представленные в этой книге так, как они показаны, один в один.

Как минимум, сервер LDAP должен быть подстрахован листами контроля доступа ACL, и должен быть настроен на использование безопасных протоколов для всех сетевых соединений. Разумеется, безопасная сеть не является результатом лишь системного проекта и внедрения, а также включает постоянное обучение пользователей и, более того, повышенное внимание к деталям и постоянный поиск признаков нежелательного или деструктивного воздействия. Безопасность это отдельная тема для целой книги. Пожалуйста, ознакомьтесь с соответствующими источниками информации. Книга Джерри Картера (Jerry Carter ) Системное администрирование LDAP (LDAP System Administration), может послужить хорошим стартом для изучения вопросов безопасности LDAP.

Содержание этой главы заслуживает особого внимания, в частности:

  • Внедрение бэкенда паролей passwd, базирующегося на OpenLDAP, необходимо для поддержки распределенного управления доменом;

  • Применение основного и резервного контроллеров домена на Samba с общим бэкендом LDAP для учетных записей групп и пользователей, которые общедоступны с системы UNIX через инструментальные средства PADL nss_ldap и pam_ldap;

  • Использование скриптов smbldap-tools от Idealx для управления учетными записями UNIX (POSIX), а так же для управления учетными записями групп и пользователей Windows;

  • Базовая реализация использования групповых политик для клиентов Windows;

  • Контроль над перемещаемыми профилями, в частности сосредоточение на перенаправлении папок и сетевых дисках;

  • Использование системы печати CUPS наряду с автозагрузкой драйверов принтеров на Samba.
(к началу страницы)

Пример 5.4.2. Основной конфигурационный файл LDAP /etc/openldap/slapd.conf, часть A

include		/etc/openldap/schema/core.schema
include		/etc/openldap/schema/cosine.schema
include		/etc/openldap/schema/inetorgperson.schema
include		/etc/openldap/schema/nis.schema
include		/etc/openldap/schema/samba3.schema

pidfile		/var/run/slapd/slapd.pid
argsfile	/var/run/slapd/slapd.args

access to dn.base=""
		by self write
		by * auth

access to attr=userPassword
		by self write
		by * auth

access to attr=shadowLastChange
		by self write
		by * read

access to *
                by * read
                by anonymous auth

#loglevel	256

schemacheck 	on
idletimeout	30
backend		bdb
database	bdb
checkpoint      1024 5
cachesize       10000

suffix		"dc=abmas,dc=biz"
rootdn		"cn=Manager,dc=abmas,dc=biz"

# rootpw = not24get
rootpw          {SSHA}86kTavd9Dw3FAz6qzWTrCOKX/c0Qe+UV

directory	/data/ldap

Пример 5.4.3. Основной конфигурационный файл LDAP /etc/openldap/slapd.conf, часть Б

# Indices to maintain
index objectClass           eq
index cn                    pres,sub,eq
index sn                    pres,sub,eq
index uid                   pres,sub,eq
index displayName           pres,sub,eq
index uidNumber             eq
index gidNumber             eq
index memberUID             eq
index sambaSID              eq
index sambaPrimaryGroupSID  eq
index sambaDomainName       eq
index default               sub

Пример 5.4.4. Конфигурационный файл для поддержки NSS LDAP /etc/ldap.conf

host 127.0.0.1

base dc=abmas,dc=biz

binddn cn=Manager,dc=abmas,dc=biz
bindpw not24get

timelimit 50
bind_timelimit 50
bind_policy hard

idle_timelimit 3600

pam_password exop

nss_base_passwd ou=People,dc=abmas,dc=biz?one
nss_base_shadow ou=People,dc=abmas,dc=biz?one
nss_base_group  ou=Groups,dc=abmas,dc=biz?one

ssl off

Пример 5.4.5. Конфигурационный файл для поддержки NSS LDAP /etc/ldap.conf

host 172.16.0.1

base dc=abmas,dc=biz

binddn cn=Manager,dc=abmas,dc=biz
bindpw not24get

timelimit 50
bind_timelimit 50
bind_policy hard

idle_timelimit 3600

pam_password exop

nss_base_passwd ou=People,dc=abmas,dc=biz?one
nss_base_shadow ou=People,dc=abmas,dc=biz?one
nss_base_group  ou=Groups,dc=abmas,dc=biz?one

ssl off

Пример 5.4.6. Файл smb.conf с поддержкой LDAP, сервер MASSIVE, раздел глобальных параметров, часть А

# Global parameters

[global]
unix charset = LOCALE
workgroup = MEGANET2
netbios name = MASSIVE
interfaces = eth1, lo
bind interfaces only = Yes
passdb backend = ldapsam:ldap://massive.abmas.biz
enable privileges = Yes
username map = /etc/samba/smbusers
log level = 1
syslog = 0
log file = /var/log/samba/%m
max log size = 50
smb ports = 139
name resolve order = wins bcast hosts
time server = Yes
printcap name = CUPS
show add printer wizard = No
add user script = /opt/IDEALX/sbin/smbldap-useradd -m "%u"
delete user script = /opt/IDEALX/sbin/smbldap-userdel "%u"
add group script = /opt/IDEALX/sbin/smbldap-groupadd -p "%g"
delete group script = /opt/IDEALX/sbin/smbldap-groupdel "%g"
add user to group script = /opt/IDEALX/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /opt/IDEALX/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /opt/IDEALX/sbin/smbldap-usermod -g "%g" "%u"
add machine script = /opt/IDEALX/sbin/smbldap-useradd -w "%u"

Пример 5.4.7. Файл smb.conf с поддержкой LDAP, сервер MASSIVE, раздел глобальных параметров, часть Б

logon script = scripts\logon.bat
logon path = \\%L\profiles\%U
logon drive = X:
domain logons = Yes
preferred master = Yes
wins support = Yes
ldap suffix = dc=abmas,dc=biz
ldap machine suffix = ou=People
ldap user suffix = ou=People
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap admin dn = cn=Manager,dc=abmas,dc=biz
idmap backend = ldap:ldap://massive.abmas.biz
idmap uid = 10000-20000
idmap gid = 10000-20000
map acl inherit = Yes
printing = cups
printer admin = root, chrisr

Пример 5.5.1. Файл smb.conf с поддержкой LDAP, сервер BLDG1

# Global parameters

[global]
unix charset = LOCALE
workgroup = MEGANET2
netbios name = BLDG1
passdb backend = ldapsam:ldap://massive.abmas.biz
enable privileges = Yes
username map = /etc/samba/smbusers
log level = 1
syslog = 0
log file = /var/log/samba/%m
max log size = 50
smb ports = 139
name resolve order = wins bcast hosts
printcap name = CUPS
show add printer wizard = No
logon script = scripts\logon.bat
logon path = \\%L\profiles\%U
logon drive = X:
domain logons = Yes
domain master = No
wins server = 172.16.0.1
ldap suffix = dc=abmas,dc=biz
ldap machine suffix = ou=People
ldap user suffix = ou=People
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap admin dn = cn=Manager,dc=abmas,dc=biz
idmap backend = ldap:ldap://massive.abmas.biz
idmap uid = 10000-20000
idmap gid = 10000-20000
printing = cups
printer admin = root, chrisr

Пример 5.5.2. Файл smb.conf с поддержкой LDAP, сервер BLDG2

# Global parameters

[global]
unix charset = LOCALE
workgroup = MEGANET2
netbios name = BLDG2
passdb backend = ldapsam:ldap://massive.abmas.biz
enable privileges = Yes
username map = /etc/samba/smbusers
log level = 1
syslog = 0
log file = /var/log/samba/%m
max log size = 50
smb ports = 139
name resolve order = wins bcast hosts
printcap name = CUPS
show add printer wizard = No
logon script = scripts\logon.bat
logon path = \\%L\profiles\%U
logon drive = X:
domain logons = Yes
domain master = No
wins server = 172.16.0.1
ldap suffix = dc=abmas,dc=biz
ldap machine suffix = ou=People
ldap user suffix = ou=People
ldap group suffix = ou=Groups
ldap idmap suffix = ou=Idmap
ldap admin dn = cn=Manager,dc=abmas,dc=biz
idmap backend = ldap:ldap://massive.abmas.biz
idmap uid = 10000-20000
idmap gid = 10000-20000
printing = cups
printer admin = root, chrisr

Пример 5.5.3. Файл smb.conf с поддержкой LDAP, секция общих ресурсов, часть A

[accounts]
comment = Accounting Files
path = /data/accounts
read only = No

[service]
comment = Financial Services Files
path = /data/service
read only = No

[pidata]
comment = Property Insurance Files
path = /data/pidata
read only = No

[homes]
comment = Home Directories
valid users = %S
read only = No
browseable = No

[printers]
comment = SMB Print Spool
path = /var/spool/samba
guest ok = Yes
printable = Yes
browseable = No

Пример 5.5.4. Файл smb.conf с поддержкой LDAP, секция общих ресурсов, часть Б

[apps]
comment = Application Files
path = /apps
admin users = bjordan
read only = No

[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = Yes
locking = No

[profiles]
comment = Profile Share
path = /var/lib/samba/profiles
read only = No
profile acls = Yes

[profdata]
comment = Profile Data Share
path = /var/lib/samba/profdata
read only = No
profile acls = Yes

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root, chrisr

Пример 5.5.5. LDIF файл IDMAP для загрузки данных /etc/openldap/idmap.LDIF

dn: ou=Idmap,dc=abmas,dc=biz
objectClass: organizationalUnit
ou: idmap
structuralObjectClass: organizationalUnit

(к началу страницы)

5.9. Вопросы и ответы

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

1. Почему вы не охватываете вопросы безопасности? Не является ли безответственным обучать сетевых администраторов внедрению небезопасных решений?
2. ПВ основном вы сфокусированы на SUSE Linux, и меньше на лидере рынка, Red Hat. Есть какие-то проблемы с Red Hat Linux? Не таит ли это в себе проблему, что я не смогу использовать ваше руководство с выбранным мною дистрибутивом Linux?
3. При настройке Samba вы не используете SWAT. С ним есть какие-то проблемы?
4. Вы используете простой хорошо известный пароль not24get. Разве это надежно?
5. Скрипты Idealx smbldap-tools создали много учетных записей доменных групп, которые нигде не используется. Для чего?
6. Могу я использовать LDAP только для хранения учетных записей Samba, а не для системный учетных записей UNIX?
7. Почему части RID домена Windows не такие же, как UNIX UID?
8. Во всех примерах настройки принтеров применяется порт HP (Hewlett-Packard) 9100. Означает ли это, что я должен иметь принтер HP для того, чтобы эти решения работали?
9. Не опасно ли перенаправление папок? Я слышал, что можно потерять свои данные используя это.
10. Действительно ли необходимо настраивать локальные политики безопасности, чтобы исключить перенаправляемые папки из перемещаемого профиля?

1. Почему вы не охватываете вопросы безопасности? Не является ли безответственным обучать сетевых администраторов внедрению небезопасных решений?

- Давайте понимать это правильно. Эта книга о Samba, а не об OpenLDAP или безопасных сетевых протоколах для продуктов, отличных от Samba.

Ранее, как вы заметили, при рассмотрении DDNS и DHCP также использовались небезопасные протоколы для связи. Причина этого в том, что существует так много путей для применения безопасных протоколов, что книга должна быть гораздо больше и значительно более комплексной по описанию.

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

В этой книге немного упоминается о резервном копировании. Означает ли это, что я рекомендую развертывание сети без условий для восстановления данных и для управления в аварийных ситуациях? Обратитесь к началу: Развертывание Samba безусловно иллюстрирует обратное.

2. В основном вы сфокусированы на SUSE Linux, и меньше на лидере рынка, Red Hat. Есть какие-то проблемы с Red Hat Linux? Не таит ли это в себе проблему, что я не смогу использовать ваше руководство с выбранным мною дистрибутивом Linux?

- И Red Hat Linux и SUSE Linux удовлетворяют стандартным базовым спецификациям Linux для стандартных дистрибутивов Linux. Различия несущественны. Несомненно, вы знаете свою платформу Linux и имеете доступ к административной документации на нее. Эта книга не является руководством по Linux; это руководство по Samba. Давайте сохраним сфокусированное внимание на Samba; остальные части второстепенны (но важны) при создании целостного сетевого решения.

В этой книге я обращаю особое внимание на детали создания целостной законченной инфраструктуры. Я не коснулся закручивания каждой гайки и болта, но я затронул все проблемы, с которыми вы должны были познакомиться. За эти годы много людей, которые обращались ко мне, желали знать, как реализовать серверы DHCP и динамического DNS с Samba и WINS. В этой главе явственно показано, что должно быть настроено для предоставления прозрачного взаимодействия. Это основные места, о которые запинаются многие люди.

В каждом критически важном моменте (настройки) я показываю сравнительные указания как для SUSE, так и для Red Hat Linux. Мне нравятся специфические особенности обоих продуктов (а также компаний). Не подразумевается какая-либо предвзятость в повествовании. Кстати, пока я не забыл, мне особенно нравится Debian Linux; это моя любимая спортивная площадка.

3. При настройке Samba вы не используете SWAT. С ним есть какие-то проблемы?

- Это хороший вопрос. В данной ситуации файл конфигурации smb.conf представлен в настолько прямом формате, каком это возможно. В дополнении SWAT, если сравнивать, имеет ряд запутанных моментов. Я искал простоту реализации. Фактически я использовал SWAT только при первом создании файлов. Есть люди в Linux и сообществе открытого программного обеспечения, которые считают использование SWAT опасным и ненадежным. Не знакомя с SWAT, я должен все же упомянуть о нем. SWAT хорошо описан в разделе о TOSHARG2.

4. Вы используете простой хорошо известный пароль not24get. Разве это надежно?

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

5. Скрипты Idealx smbldap-tools создали много учетных записей доменных групп, которые нигде не используется. Для чего?

- Я связывался с Idealx, и нашел, что они готовы изменить это в следующей версии. Давайте сделаем некоторые скидки Idealx за то, что они уже сделали. Ценю их работу и, кроме того, создание учетных записей, которые не используются, не причиняет какого-либо вреда — через какое-то время они могут понадобиться и Samba.

6. Могу я использовать LDAP только для хранения учетных записей Samba, а не для системный учетных записей UNIX?

- Да, вы можете можете сделать так, чтобы хранились только учетные записи пользователей. Samba требует, чтобы существовала учетная запись группы UNIX (POSIX) для каждой учетной записи группы домена Windows. Но, если вы поместите ваших пользователей в системную парольную учетную запись (system password account), как вы планируете осуществлять синхронизацию всех системных файлов паролей на контроллерах домена? Я думаю, что хранить все в LDAP заключает в себе много смысла для администратора UNIX, который пока еще постигает новые практики и совершает переход от MS Windows.

7. Почему части RID домена Windows не такие же, как UNIX UID?

- Samba использует общеизвестные публичные алгоритмы для установки RID'ов из UID'ов GID'ов. Этот алгоритм исходит из того, что будет гарантировано отсутствие совпадений с общеизвестными RID'ами. Общеизвестные RID'ы имеют особенное значение для клиентов Windows. Автоматическое назначение использует такую формулу: RID = UID*2 + 1000. Конечно, Samba позволяет вам отменить это в некоторых пределах. Смотрите man smb.conf, параметр algorithmic rid base.

8. Во всех примерах настройки принтеров применяется порт HP (Hewlett-Packard) 9100. Означает ли это, что я должен иметь принтер HP для того, чтобы эти решения работали?

- Нет. Вы можете иметь любой другой принтер и использовать интерфейсный протокол, поддерживаемый принтером. Многие сети используют серверы печати LPR/LPD, к которым присоединены PCL принтеры, цветные принтеры, плоттеры и тому подобное. Дома я использую цветной принтер, подключенный по USB. Используйте соответствующий вашему принтеру аргумент устройства URI (Uniform Resource Identifier - унифицированный идентификатор ресурса) в опции lpadmin -v.

9. Не опасно ли перенаправление папок? Я слышал, что можно потерять свои данные используя это.

- Единственная возможность, которую я знаю, потерять данные, используя перенаправление папок, это ошибочная настройка инструмента для перенаправления. Администратор перенаправляет папки на сетевой диск и указывает, что он хочет переместить туда данные. Затем он передумывает и переносит папку обратно в перемещаемый профиль. В это время он отказывается от переноса данных, так как он думает, что он все еще в папке локального профиля. Что было не верно, так, отказавшись от переноса данных обратно, он уничтожил данные. Вы не можете применять инструмент, который бы отвечал за это, поэтому принцип, по которому «покупатель несет все риски» (Caveat emptor) все еще актуален.

10. Действительно ли необходимо настраивать локальные политики безопасности, чтобы исключить перенаправляемые папки из перемещаемого профиля?

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

Назад
Глава 4. Офисная сеть на 500 пользователей
Содержание
Дальше
Глава 6. Распределенная сеть на 2000 пользователей