div.main {margin-left: 20pt; margin-right: 20pt}
Microsoft Windows NT Services for UNIX
Джим Мор
На сегодня очевидно, что Windows NT пока не в состоянии
повсеместно заменить UNIX. Надо также иметь в виду, что затраты на
переход от 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.
Сетевая файловая система (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.
Компонент SFU |
NT Workstation |
NT 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), так и из командной
строки.
В состав SFU входят различные инструментальные средства и утилиты
командной строки. Хотя они составляют лишь малую долю хорошо
известных утилит UNIX, инструментарий, включенный в SFU, является
основой любого стоящего набора администрирования в среде UNIX. В
Таблице 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 — именно то, что нужно.
|