Введение в Samba
На кого рассчитано это руководство
Хотя для освоения этого курса не требуется быть экспертом в Samba, может оказаться полезным базовое знание стандартных задач администрирования, например, копирование и перемещение файлов, создание учетных записей пользователей и установка прав доступа.
В этом курсе объясняется, как выполнить следующие операции:
- устанавливать Samba с помощью менеджера Redhat package manager (RPM) или скомпилировав программу из исходного кода;
- сконфигурировать сервер Samba для работы в качестве PDC (основного контроллера домена Primary Domain Controller);
- сконфигурировать сервер для поддержки профилей с автоматическим подключением;
- сконфигурировать сервер для поддержки сетевого входа в домен (netlogon);
- создавать на сервере необходимые административные каталоги и устанавливать для них соответствующие права доступа;
- создавать в контроллере домена учетные записи для пользователей и компьютеров (доверительные учетные записи);
- конфигурировать клиентские компьютеры для присоединения к домену;
- решать типичные проблемы, которые могут возникнуть при перечисленных выше действиях.
Samba – это несомненно один из самых успешных проектов Open Source за всю их историю. Начался он точно так же, как и другие аналогичные проекты – из-за насущных потребностей. Эндрю Триджеллу (Andrew Tridgell) потребовалось приложение – файловый сервер для его локальной сети, поддерживавшей старый протокол Digital Pathworks от DEC. Независимо от Эндрю похожий протокол под названием SMB стал использоваться в файловых системах Microsoft. Спустя 11 лет после своего появления Samba превратился в стабильный и надежный продукт и был перенесен на множество платформ (AIX, HP-UX, BSD, Linux, Digital Unix, IRIX, SCO, VMS, OSF и Solaris). После установки и настройки Samba предоставляет практически прозрачную интеграцию с существующими Windows-сетями. С точки зрения пользователей Windows-сетей – это просто еще один файловый сервер Windows, сервер печати или контроллер домена. Еще одно преимущество Samba – это его бесплатность, поэтому при его использовании никогда не будет проблем с лицензированием. Главный контроллер домена (PDC) Samba, которому и посвящено данное пособие, сейчас поддерживает:
- вход в домен для клиентов Windows NT/2000;
- безопасность на уровне пользователя для клиентов Windows 9x/ME (клиенты Win9x/ME не используют концепцию "безопасность на уровне домена", они просто знают, как войти в контроллер домена);
- профили с автоматическим подключением;
- системные политики в стиле NT4;
- просмотр списков;
- получение списков пользователей и групп, хранящихся на Samba PDC.
На момент написания этой статьи текущей стабильной версией Samba была 2.2.3a, которая и использовалась как основа для статьи. Замечу, что текущая ветка разработки SAMBA_2_2 CVS близка к релизу, намеченному на середину апреля 2002 года, и должна получить версию 2.2.4. Информацию о версии всегда можно найти на Web-сайте Samba (www.samba.org). Если уже доступна версия 2.2.4, то лучше использовать ее, так как в нее были включены важные исправления ошибок, связанных с печатью и функциональностью контроллера домена.
Если сравнить функциональность Samba с сервером Windows NT/2000, то у Samba есть некоторые ограничения, которые нужно учитывать:
- Samba не может функционировать в роли резервного контроллера домена Backup Domain Controller (BDC). На данный момент нет способа установить "доверительные" отношения между контроллером домена Samba и контроллером Windows NT/2000. С учетом этого Скотт Мерилл (Scott Merrill) разработал способ эмулировать PDC/BDC среду с помощью двух Samba-станций. URL-ссылка на статью с подробной информацией приведена в разделе Ресурсы;
- по этой же причине Samba не может дублировать SAM (информацию для аутентификации пользователей) на Windows NT/2000 сервере и наоборот;
- Samba пока не может читать или использовать каталоги Windows Active Directory (AD);
- Samba не поддерживает добавление пользователей через Windows User Manager for Domains, в основном из-за перечисленных ранее ограничений.
Тем не менее рекомендую вам следить за новинками Samba. Многие из описанных выше ограничений, главные из которых – это способность взаимодействовать с деревом AD и репликация SAM, исчезнут с выходом Samba 3.0. Эта версия сейчас находится на стадии активной разработки, а выпуск намечен на конец лета 2002 года. В дополнение к возможности соединяться с Windows AD версия Samba 3.0 также (скорее всего) будет поддерживать следующую новую функциональность: аутентификация Microsoft Kerberos, полностью переписанная и конфигурируемая подсистема аутентификации, похожая на используемую в сетях Microsoft команда "NET" для терминального доступа к различным сетевым ресурсам, улучшенная поддержка печати, а также в ней, разумеется, будут устранены некоторые ошибки и повышена стабильность.
Дополнительная информация о статусе Samba 3.0 и других разрабатываемых проектах есть на Web-сайте www.samba.org/samba/.
В целом Samba – это очень эффективное приложение, потребляющее крайне мало системных ресурсов с учетом количества выполняемой работы. Но как и у всякого передового ПО, его производительность зависит от мощности, и не стоит ожидать, что оно сможет без проблем поддерживать 200 пользователей Samba на устаревшем компьютере с Pentium 166 с 64 MБ RAM и 10-гигабайтным IDE жестким диском. С другой стороны, этот же ПК, действующий в качестве файлового сервера Samba для небольшого офиса, возможно, будет отлично справляться с поставленной задачей, если только обращение к файлам не будет слишком интенсивным.
В общем, с точки зрения аппаратного обеспечения, я рекомендую следующую конфигурацию:
- много памяти – чем больше, тем лучше. Подключение каждого пользователя порождает Samba-демона, так что чем больше пользователей планируется поддерживать, тем больше памяти стоит иметь;
- доступ к диску критичен. Я создавал просто идеальные файловые серверы Samba из старых компьютеров (на базе PII-400), просто добавляя подсистему SCSI и хороший жесткий диск SCSI. И снова стоит задуматься о масштабе: чем больше пользователей планируется обслуживать, тем нужна более мощная дисковая подсистема;
- я предпочитаю SMP (многопроцессорные) файловые серверы. Несколько процессоров необязательно сделают компьютер быстрее, зато компьютер не будет сильно тормозить при сильной загруженности. И если учесть тот факт, что система на двух процессорах Celeron стоит столько же, что и система на одном мощном процессоре, для меня выбор очевиден.
Для написания и тестирования статьи я использовал следующие компьютеры: один из новых серверов IBM xSeries: модель xSeries 220, два процессора Pentium 3 1,.2 ГГц, аппаратный RAID-контроллерIBM ServeRAID, 1 ГБ SDRAM и три жестких диска 10,000 RPM 18 ГБ в конфигурации RAID5, обеспечивающих около 36 ГБ доступного дискового пространства. Компьютер отлично справлялся со всеми обязанностями и продолжает работать без ошибок или сбоев.
Дополнительную информацию по линейке серверов IBM можно найти на eServer Developer Domain, информацию относительно xSeries на Web-сайте xSeries Intel processor based servers. Также есть отличный учебник серии IBM Redbook – Samba Installation, Configuration, and Sizing Guide (SG24-6004-00) с хорошим разделом об аппаратных требованиях и масштабировании.
Установка Samba и настройка его в качестве PDC требует выполнения определенных процедур. Хотя читателю не требуется быть экспертом в Samba, будет полезно базовое знание административных задач, например копирование и перемещение файлов, создание учетных записей пользователей и установка прав доступа.
Для изучения представленных примеров потребуются следующие инструменты и конфигурация:
- эта статья основана на использовании Redhat 7.2 с применением всех текущих исправлений (подробная информация на странице Redhat's Errata). Конечно, можно использовать любой дистрибутив Linux или UNIX (даже HP-UX или Solaris), однако стоит учесть, что все указываемые местоположения файлов и пути относятся к Redhat. Перед установкой и конфигурацией Samba стоит только убедиться, что какой бы дистрибутив не был выбран, он действительно работает;
- текстовый редактор, например, vi. Также есть инструмент для конфигурации на основе Web-браузера (SWAT); информация по этому инструменту приведена в разделе Решение проблем и информация о SWAT.
- Если планируется скомпилировать Samba из исходного кода, что и рекомендуется сделать, то необходимо убедиться, что на компьютере установлен и правильно настроен gcc.