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

С момента появления на свет Windows разработчики Microsoft сокращают число программ управления с интерфейсом в виде командной строки. Интерфейс NT в основном графический. И хотя разработчики альтернативных операционных систем — например UNIX — постоянно совершенствуют утилиты командной строки, интегрирующего программного продукта до сих пор нет.

С появлением пакета служб Microsoft Windows NT для UNIX (Microsoft Windows NT Services for UNIX, SFU) этот пробел наконец заполнен. Однако название продукта может ввести в заблуждение. SFU не реализует службы NT для UNIX-машин — просто на сервере NT обеспечивается то, что многие привыкли воспринимать как службы UNIX. Четкое понимание этого различия важно для того, чтобы уяснить, какие именно службы и для кого предлагает пакет SFU. Если коротко, то SFU упрощает доступ к ресурсам, делает более удобным процесс синхронизации паролей, а также облегчает администрирование в смешанной среде NT и UNIX.

NFS

Сетевая файловая система (Network File System, NFS) разработана компанией Sun Microsystems. NFS — один из первых протоколов, позволяющих подсоединять удаленные файловые системы и использовать их как локальный ресурс. Это дает возможность работать с ресурсами разных машин. NFS — важнейший элемент всех версий UNIX, созданных за многие годы; он доступен как для NT, Windows 9x, Windows 3.x, так и для других операционных систем.

Сервер и клиент. Как и в случае Common Internet File System (CIFS) — сетевой файловой системы Windows, — в состав NFS входит серверный и клиентский компоненты. Для UNIX-систем оба компонента NFS обычно доступны в одном пакете, поэтому пользователю остается лишь соответствующим образом сконфигурировать UNIX-машину: или в роли сервера, или в роли клиента. Однако поставщики NFS-продуктов для Windows, как правило, включают в состав своих пакетов что-то одно — или только серверный компонент, или только клиентский.

Чтобы не тратить время на разработку собственного NFS-продукта, специалисты Microsoft интегрировали в SFU два продукта, созданные компанией Intergraph: DiskShare, представляющий собой NFS-сервер, и DiskAccess, выступающий в роли NFS-клиента. Microsoft предлагает SFU только для среды NT, тогда как оба продукта Intergraph предназначены как для NT, так и для Win9x. В состав SFU входят и NFS-сервер, и NFS-клиент, так что NFS теперь можно реализовать практически в любой операционной среде.

Хотя поставляются и клиент, и сервер, нет никакой нужды устанавливать оба компонента. Какой компонент использовать, зависит от того, какая именно машина будет предоставлять ресурсы и для кого. Например, если имеется несколько UNIX-машин, которым необходимо обеспечить доступ к файлам на одной станции NT, лучше установить на эту станцию версию NFS-сервера. С другой стороны, если несколько станций NT нуждаются в доступе к файлам, расположенным на нескольких UNIX-машинах, установка NFS-клиента на станции NT более целесообразна. Предоставив NFS-сервер и NFS-клиент в одном пакете, разработчики Microsoft дали администраторам возможность разворачивать те компоненты SFU, которые необходимы в каждом конкретном случае. Таким образом, администраторы могут устанавливать SFU компоненты не на всех станциях, что позволяет снизить затраты на программное обеспечение и сократить расходы на администрирование SFU-систем.

NFS-клиент полностью «прозрачен» для пользователей. Доступ к ресурсам NFS-сервера осуществляется так же, как и при работе с CIFS-ресурсами посредством Windows Explorer, Network Neighborhood и File Manager.

Система должна уметь преобразовывать информацию для обеспечения взаимодействия NT и UNIX независимо от того, в каком режиме работает SFU-система — как сервер или как клиент. UNIX идентифицирует пользователя по ID-пользователя и группы (GID). Форматы пользовательских идентификаторов NT и UNIX отличаются друг от друга; кроме того, пользователь NT может входить в состав сразу нескольких групп.

Аутентификация. Процесс аутентификации в NT и UNIX происходит по-разному, поэтому для NFS в SFU реализованы два метода: pcnfsd и Network Information Service (NIS). Метод аутентификации pcnfsd для предоставления доступа к отдельным ресурсам какой-либо машины требует от пользователя ввода имени и пароля. NIS, в свою очередь, поддерживает централизованный механизм аутентификации пользователя по его имени и паролю для доступа к распределенным ресурсам, что напоминает технику аутентификации, принятую в доменах NT. Однако NIS обеспечивает более высокий уровень управления аутентификацией.

Компонент NFS-сервер в составе SFU действует как посредник между клиентом UNIX и файловыми службами NT, поэтому NFS-сервер может получить доступ к любому типу файловой системы, который «понимает» и UNIX и NT, а именно FAT, High-Performance File System (HPFS), CD-ROM File System (CDFS) и NTFS. NFS-сервер в среде NT выполняет все необходимые преобразования так, что клиенты не знают, к ресурсу какой именно файловой системы они обращаются. В дополнение к этому, NFS-сервер осуществляет преобразования между системой разрешений UNIX и NTFS. Обычно UNIX использует разрешения на чтение, запись и исполнение для владельца ресурса, группы и всех остальных пользователей. NT для хранения разрешений применяет систему списков контроля доступа (Access Control List, ACL). NFS-сервер в составе SFU вынужден выполнять прямые и обратные преобразования между разрешениями NT и UNIX. NFS-сервер преобразует разрешения UNIX в компоненты дескриптора защиты NT и обратно в зависимости от того, в какую сторону выполняется преобразование (из UNIX в NT или из NT в UNIX).

Лицензирование. Важное различие между версиями клиента и сервера заключается в лицензионной политике. Версия клиента может использоваться только на тех машинах, на которых установлен пакет SFU, что позволяет создавать неограниченное число клиентских соединений с UNIX-машинами. Серверный компонент SFU дает право на неограниченное число клиентских подключений к NFS-серверу при условии, что каждый клиент имеет соответствующую лицензию NT Server (Client Access License, CAL) для этого сервера.

Лицензирование SFU зависит и от того, на какую именно систему установлен пакет. Например, установка SFU на NT Workstation позволяет создавать только до 10 клиентских соединений; то же относится и к серверному компоненту. Однако при установке на NT Server все зависит от того, какие имеются лицензии. Лицензионная политика Microsoft в отношении компонентов SFU описана в Таблице 1.

Таблица 1. Лицензионная политика при установке SFU

Компонент SFUNT WorkstationNT Server
UNIX-утилитыБез ограниченийБез ограничений
NFS-сервер10 клиентских соединенийОграничено числом клиентских лицензий NT
NFS-клиентБез ограниченийБез ограничений
Синхронизация паролей NT и UNIX Без ограниченийБез ограничений
Telnet-клиентБез ограниченийБез ограничений
Telnet-сервер1 клиентское соединение63 клиентских соединения

Служба Gateway. В состав SFU 2.0 входит шлюз в NFS — служба, которая устанавливается на сервер Windows 2000 или NT. С ее помощью монтируются ресурсы NFS с UNIX-машины, которые затем становятся доступны как обычные ресурсы Windows. Этот ресурс можно объявить общим и разрешить обращаться к нему с остальных Windows-машин — например под управлением NT Workstation или Win9x — без необходимости установки на каждую из них NFS-клиента из состава SFU.

Синхронизация паролей

Одна из основных проблем смешанных сред связана с наличием множества паролей в различных системах. В «чистой» сети NT благодаря доменной архитектуре каждому пользователю достаточно единого имени и пароля, что позволяет обеспечить режим сквозной регистрации (single sign-on, SSO) в масштабах всей корпоративной сети. В среде UNIX можно воспользоваться методом аутентификации NIS для синхронизации паролей на множестве UNIX-машин. Однако синхронизация паролей между NT и UNIX в прошлом вызывала немало затруднений.

В предыдущей версии SFU 1.0 вместо полноценной интеграции NT в систему аутентификации UNIX предлагался некий промежуточный шаг для синхронизации паролей NT и UNIX. В SFU 1.0 синхронизация паролей выполнялась только в одном направлении — службы SFU автоматически передавали измененный пользователем станции NT пароль на UNIX-машину. Получателями изменений в пароле NT можно было назначить группу UNIX-машин. При этом во избежание возникновения противоречий в принятой учетной политике пароль должен был удовлетворять принятым в NT правилам формирования паролей.

В состав версии SFU 2.0 включены некоторые инструментальные средства UNIX для работы в интерфейсе командной строки (например, ypcat, yppush), которые дают возможность управлять NIS. Эти дополнительные функции SFU 2.0 позволяют серверу NT выполнять роль мастер-сервера NIS-домена. Кроме того, станция Windows 2000 может выступать как мастер-сервер и в NIS-домене, и в домене Windows 2000. Отчасти это стало возможным в результате включения в состав пакета SFU специального мастера миграции данных NIS, который позволяет интегрировать NIS-информацию в структуру службы каталога Windows 2000 Active Directory (AD). После того как учетная информация NIS включена в AD, последняя берет на себя обслуживание всех пользователей.

Если же UNIX-машина не поддерживает NIS или не сконфигурирована в соответствии с требованиями NIS, SFU 2.0 в качестве метода синхронизации паролей предлагает использовать метод, применяемый в SFU 1.0. При синхронизации пароля информация может передаваться либо в открытом виде, либо в зашифрованном. Использование открытых паролей позволяет выполнять синхронизацию с большинством версий UNIX, поскольку для этого нужно всего лишь правильно сконфигурировать файл .rhosts на UNIX-машине. Использование шифрованных паролей требует установки на UNIX-машинах демона сквозной аутентификации (sign-on daemon, SSOD). SSOD существует не для каждой версии UNIX, поэтому шифрование паролей доступно не везде. К моменту написания этой статьи SSOD в виде исполняемых модулей существует лишь для HP-UX, Sun Solaris и Digital UNIX. В то же время в Microsoft планируют реализовать поддержку и других версий UNIX, включая Linux.

Простота администрирования

Хотя в настоящее время различные диалекты UNIX поддерживают графический интерфейс для решения задач, связанных с управлением, большинство администраторов UNIX предпочитают работать с утилитами командной строки. Командная строка обычно более эффективна, а кроме того, иногда с ее помощью можно выполнить то, что невозможно сделать, работая с графической оболочкой. Специалисты Microsoft создавали NT в расчете на то, что работа в данной среде в основном будет выполняться с помощью GUI, и традиционное отсутствие средств удаленного управления при помощи командной строки ставило администраторов в трудное положение.

Telnet-сервер и Telnet-клиент. Разработчики Microsoft включили в состав SFU telnet-сервер, тем самым несколько ослабив перечисленные выше ограничения. Во все версии NT входит telnet-клиент, что позволяет устанавливать соединение с удаленной машиной и, используя командное окно, выполнять необходимые операции точно так же, как с локальной консоли. Разница лишь в том, что telnet-сервер в составе SFU позволяет устанавливать соединение со станцией NT с любой системы, на которой имеется telnet-клиент.

Telnet-сервер SFU имеет несколько конфигурационных параметров, которые отличают его от UNIX-аналога. Например, утилиту tlntadmn.exe telnet-сервера SFU можно использовать для настройки принимаемых по умолчанию параметров командного процессора, конфигурирования сценариев регистрации пользователей, ограничения максимального числа соединений и других характеристик. В состав SFU также входят графическая версия telnet-клиента и ее аналог, работающий в режиме командной строки.

Администрирование средствами MMC. Дальнейшее упрощение администрирования SFU связано с интеграцией объектов SFU в архитектуру управления Microsoft Management Instrumentation. Это позволяет управлять различными компонентами SFU как с помощью консоли Microsoft Management Console (MMC), так и из командной строки.

Средства написания сценариев UNIX

В состав SFU входят различные инструментальные средства и утилиты командной строки. Хотя они составляют лишь малую долю хорошо известных утилит UNIX, инструментарий, включенный в SFU, является основой любого стоящего набора администрирования в среде UNIX. В Таблице 2 перечислены инструментальные средства UNIX, вошедшие в состав SFU.

Таблица 2. Утилиты UNIX, включенные в состав SFU

Команда UNIXОписание
BasenameУдаление из строки пути; в строке остается имя файла
catВывод содержимого файла
chmodИзменение разрешений файла
chownИзменение владельца файла
cpКопирование файлов
dirnameВыделение пути из строки
findРекурсивный поиск в иерархии каталогов файлов, удовлетворяющих заданному критерию
grep, egrep, fgrepПоиск по шаблону в файлах и вывод всех строк, содержащих искомый шаблон
headВывод первых N строк файла
lnСоздание связи с файлом
lsПросмотр содержимого каталога и атрибутов файлов и каталогов
mkdirСоздание каталогов
moreВывод содержимого файла поэкранно
mvПеремещение или переименование файлов
perlИнтерпретатор с элементами компиляции
rmУдаление файлов
rmdirУдаление каталогов
sedРедактирование файлов или вывода команды на основе аргументов или файла сценария (т. е. потоковый редактор)
shВызов интерпретатора командного процессора Korn
sortСортировка строк в заданных файлах и вывод результата работы
tailВывод последних N строк в файле
teeОтображение результатов работы команды на экране с записью в файл
touchИзменение атрибутов времени доступа и модификации файла или создание пустого файла
uniqВывод уникальных или повторяющихся строк файла
viТекстовый редактор
wcВывод числа строк, слов или символов в файле

Одно из самых важных нововведений SFU — командный интерпретатор Korn (командные процессоры UNIX, как правило, гораздо мощнее командной строки NT). Разработчики Microsoft включили в состав SFU это инструментальное средство, признав преимущества командного процессора UNIX. Я согласен, что командный процессор UNIX — нечто большее, чем просто интерпретатор команд. Программные конструкции этого процессора, доступные непосредственно в интерфейсе командной строки, являются исключительно мощным средством работы. В дополнение к широкому набору языковых конструкций Korn-интерпретатор предоставляет больше возможностей для повторного вызова и редактирования предыдущих команд, чем командная строка NT. Нет ничего удивительного в том, что сценарии командного процессора способны решить большинство задач, имеющих отношение к администрированию, включая те, что связаны с началом работы системы UNIX — установка переменных среды, проверка наличия каталогов, запуск и остановка системных служб в правильной последовательности. SFU обычно предоставляет пользователю самому выбрать подходящий интерфейс взаимодействия с системой. Каждый интерфейс имеет свои уникальные характеристики и свойства, но все они обладают одинаковым базовым набором возможностей.

SFU позволяет запускать большое количество сценариев для UNIX на NT-системах. Microsoft лицензировала более 30 команд для написания сценариев UNIX, разработанных специалистами компании Mortice Kern Systems (MKS). Эти команды дают возможность автоматизировать решение самых распространенных административных задач на обеих платформах, NT и UNIX.

Другая важная особенность SFU 2.0 заключается в наличии в этой версии SFU механизма создания сценариев ActiveState Tool?s ActivePerl. В состав ActivePerl входит PerlScript, который служит виртуальной машиной сценариев ActiveX, что позволяет применять Perl с любым ActiveX — совместимым продуктом, скажем Microsoft Internet Information Server (IIS) и Windows Scripting Host (WSH). В состав ActivePerl также включен диспетчер пакетов Perl (Perl Package Manager, PPM), который упрощает сопровождение расширений и дополнений к уже имеющимся модулям Perl.

Все лучшее из двух миров

Тем, кого интересуют лишь новые возможности интерфейса командной строки и средства написания сценариев в среде NT, SFU может показаться чрезмерно мощным средством. Другим его функций может быть недостаточно, особенно если учесть, что SFU предоставляет примерно одну десятую тех функций, которые (за ту же цену) предоставляет полный комплект утилит MKS. Однако для тех, кто заинтересован в дополнительных возможностях командной строки и интеграции NT и UNIX, пакет SFU — именно то, что нужно.


Прим. редакции.

В разговоре об SFU следует упомянуть об Interix — другом полнофункциональном решении по интеграции NT и UNIX. Подробнее см. http://www.microsoft.com/windows2000/ news/fromms/interix.asp.