Windows Services for Unix: /home, sweet /home...

Windows Services for UNIX (SFU) – это одна из попыток в сфере организации взаимодействия UNIX/Linux/Windows. SFU был призван облегчить совместную работу Windows- и UNIX-систем в части аутентификации и совместного использования ресурсов, а также облегчения переноса UNIX-приложений на Windows-серверы. Это стоило, вроде бы 99$ за клиента, но теперь предлагается бесплатно. Хотя «бесплатность» эта относительна, в чем вы убедитесь, ознакомившись с системными требованиями.
SFU состоит из установленной в качестве собственной подсистемы Windows среды Interix. Она поставляется с оболочками C, Korn и обычным набором GNU’шных утилит. В поставку также включены «древние» сервисы telnet и sendmail. Интеграция каталогов и файловых систем осуществляется через NFS (Network Filesystem) и NIS (Network Information Services). Другие оболочки и программы, например, bash, SSH и Apache доступны на веб-сайте Interop Systems.
В данной статье рассматриваются основы работы SFU, за что спасибо соавтору - Shuying Wang, способствовавшему отделению реальности от гипотез.

системные требования

SFU 3.5 работает только под Windows 2000/XP Professional и 2000/2003 Server. На сервере должен быть установлен NIS и включена поддержка Active Directory. Если у вас уже есть все эти вещи, SFU может стать полезным инструментом. Если нет, то вам предстоят существенные вложения в лицензии для сервера и клиентов (объясните, пожалуйста, с какой радости пользователи должны платить за клиентские лицензии доступа? Вы уже заплатили за сервер и за лицензии настольных Windows, а ведь обслуживание пользователей – это ключевая идея работы сервера, разве не так?).
Вашим пользователям Windows 95/98/ME крупно не повезло: SFU у них работать не будет. Windows 95/98/ME используют файловые системы FAT16/FAT32, не поддерживающие контроль доступа, который есть в NTFS и файловых системах UNIX. Кстати говоря, и в UNIX, и в Linux поддерживается широкий спектр прекрасных файловых систем и вы можете использовать любую, которая вам нравится без замены всей операционной системы целиком.
Вам потребуется порядка 20-360 мегабайт дискового пространства - это зависит от того, что вы желаете установить, и 16 мегабайт дополнительной оперативной памяти. Кроме этого – я не выдумываю – Internet Explorer. Да, это требование для установки SFU. Secure Computing, знаете ли…

координируем сервисы и пользователей

Давайте заглянем внутрь SFU. Сервис User Name Mapping – это главный инструмент, связывающий ваши Windows- и UNIX-сервисы. Это то, что позволяет пользователям получать доступ к Windows- или UNIX-ресурсам без миграции существующих пользователей NIS на Windows или пользователей Windows на NIS.
Все NFS-компоненты SFU используют сервис User Name Mapping. Он устанавливает двустороннее - «один к одному» и «один ко многим» - соответствие между UID/GID UNIX и идентификаторами групп и пользователей Windows (SID). Схема «один ко многим» позволяет установить соответствие одному идентификатору Windows несколько идентификаторов UNIX Обратного механизма нет, вы не сможете сопоставить несколько идентификаторов Windows одному идентификатору UNIX.
Администрирование сервиса User Name Mapping производится с помощью графического интерфейса или инструмента командной строкиmapadmin.По умолчанию User Name Mapping приравнивает пользователей домена Windows к пользователям UNIX с теми же именами. Администратор также может избрать схему, при которой сопоставляются пользователи с различными именами для Windows и UNIX.

совместное использование файлов и ресурсов

SFU поддерживает UNIX NFS версий 2 и 3. SFU поставляется с NFS-клиентом, сервером и шлюзом. Шлюз позволяет системам, не располагающим NFS-клиентом, получать доступ к совместным ресурсам NFS. Построенный на Windows сервер NFS поддерживает только экспорт NFS из CDFS (Compact Disc Filesystem) и NTFS (NT Filesystem). Это означает, что открывать доступ для Windows вы сможете только к компакт-дискам или файловой системе Windows NTFS, поскольку это единственная файловая система для Windows, предлагающая какой-то заслуживающий упоминания контроль целостности данных и доступа.
Предлагаются инструменты администрирования как с графическим интерфейсом, так и основанные на использовании командной строки. Закладка NFS Sharing становится доступной посредством GUI через правый щелчок по каталогу в Windows Explorer. Утилита командной строкиnfsshareдает возможность скриптового управления как из Windows-, так и UNIX-оболочек.
Для пользователя доступ к ресурсам NFS выглядит так же, как и доступ к совместным ресурсам Windows. Пользователь перемещается по сети NFS, используя Windows Explorer. Пользователь может получить доступ к ресурсам NFS как сопоставляя им буквенное обозначение диска, так и используя имена Universal Naming Convention (UNC), которые выглядят как пути UNIX, только с обратными слэшами: \server-name\share-name\directory\filename. Доступ к ресурсам NFS может быть также получен с использованием команд net или mount. Пользователи, которые располагают аккаунтами и для Windows, и для UNIX, получают одинаковые привилегии вне зависимости от того, получают они доступ к файлам с помощью NFS-клиента для UNIX или же через NFS-клиент для Windows.
Шлюз для NFS также использует сервис User Name Mapping для установления соответствия параметров доступа учетных записей Windows и GID/UID операционной системы UNIX перед перенаправлением запроса на доступ к файлу на NFS-сервер. Каждый запрос пользователя, проходящий через шлюз, надлежащим образом идентифицируется, затем имена пользователей Windows конвертируются в соответствующих пользователей UNIX перед перенаправлением на NFS-сервер. Этот процесс необходим для уверенности в том, что пользователи, получающие доступ к NFS-серверам либо напрямую с машины, располагающей клиентом для NFS, либо опосредованно, через шлюз для NFS, получат его в одинаковом объеме.
Поскольку доступ к шлюзу для совместного использования NFS предоставляется сетью, основанной на Windows, эти запросы подтверждаются проверкой прав доступа Windows, а затем посредством User Name Mapping переводятся в соответствующие пары UID/SID UNIX.

интеграция с Active Directory

Сервер NIS хранит объекты в Active Directory, который интегрирует пользователей, группы и хосты UNIX в их Windows-эквиваленты. Таким образом, администрирование пользователей и групп UNIX производится точно таким же способом, как и пользователей/групп Windows. Данными NIS можно управлять, в том числе используя такой интегрированный инструмент Active Directory, как Users and Computers. Плюс, любые пользователи, одновременно принадлежащие и к UNIX и к Windows-сетям, могут получить уникальное представление в Active Directory.
SFU включает двустороннюю (Windows-to-UNIX и UNIX-to-Windows) синхронизацию паролей, которая поддерживает локальную и доменную синхронизацию аккаунтов Windows.
Доменная синхронизация аккаунтов требует инсталляции Password Synchronization на контроллерах домена с установленной Windows 2000 или Windows 2003 Server. Запросы на изменение пароля посылаются только тем компьютерам или пользователям, которые выбраны администратором. Синхронизация по схеме UNIX-to-Windows контролируется файлом ssod.conf. Настройка синхронизации Windows-to-UNIX производится с помощью встроенного инструмента SFU Administration.
Вы можете избежать всей этой синхронизационной возни, внедрив единую регистрацию – переведя ваших пользователей UNIX NIS в Active Directory и отключив ваши серверы UNIX NIS. Microsoft предлагает для этого некоторые скрипты на Korn shell, однако будьте уверены, что вам скорее всего все равно придется вручную вносить в них многочисленные изменения. Файловые разрешения в UNIX и Windows работают по-разному. Кроме того, в UNIX регистр имеет значение, а в Windows – нет, поэтому работа с именами файлов и пользователей способна превратиться в форменный регистровый кошмар. Да еще пользователи, которые имеют несколько аккаунтов, способны доставить вам немало «приятных» минут.
Добавление SFU к сети, построенной на Windows, может стать именно тем решением, которое нужно вам для интеграции ваших UNIX-пользователей и ресурсов. В любом случае не рассчитывайте, что все заработает как по волшебству – вам потребуется знание UNIX для того, чтобы заставить это работать правильно и избежать широких брешей в безопасности. Посетите сайт Windows Services for UNIX (http://www.microsoft.com/windows/sfu/default.asp) – там вы найдете документацию и мануалы.

Carla Schroder, перевод Алексея Кутовенко.



Сетевые решения. Статья была опубликована в номере 09 за 2004 год в рубрике software

©1999-2024 Сетевые решения