Введение

Прекращенное программное обеспечение, разработанное Microsoft, обеспечивавшее среду Unix на Windows NT.

Windows Services for UNIX (SFU) – это прекращенный программный пакет, разработанный Microsoft, который предоставлял среду Unix на Windows NT и некоторых последующих операционных системах. SFU 1.0 и 2.0 использовали инструментарий MKS; начиная с SFU 3.0, SFU включал подсистему Interix, приобретенную Microsoft в 1999 году у американской компании Softway Systems в рамках сделки по приобретению активов. SFU 3.5 был последней версией и был доступен для бесплатной загрузки с сайта Microsoft. Windows Server 2003 R2 включал большинство компонентов, ранее входивших в SFU (на диске 2), и назвал компонент подсистемы Interix подсистемой для UNIX-приложений (SUA). В Windows Server 2008 и в расширенных версиях Windows Vista и Windows 7 (Enterprise и Ultimate) была включена минимальная Interix SUA, но большинство других утилит SFU необходимо было загружать отдельно с веб-сайта Microsoft. Общая поддержка продолжалась до 2011 года, расширенная поддержка – до 2014 года.

Известные проблемы

Перевод символов должен использоваться для поддержки имен файлов, содержащих двоеточие (:) или другие символы, не соответствующие правилам именования файловых систем Windows. Файлы с одинаковыми именами, но различающиеся регистром, также не допускаются по умолчанию, но могут быть включены при установке, что приведет к тому, что файловая система базового раздела станет чувствительной к регистру, даже для подсистемы Win32. Сетевая аутентификация для систем UNIX полагается на небезопасный протокол NIS (для аутентификации на основе LDAP и Kerberos требуется стороннее решение). Microsoft выпустила несколько срочных исправлений для Windows Services for UNIX и как минимум одно обновление безопасности (KB939778). Утилиты проекта GNU на несколько версий устарели по сравнению с последними версиями. В 2007 году был начат отдельный порт актуальных утилит Debian, но, по всей видимости, разработка была прекращена в 2009 году. Некоторые утилиты обработки текста в SUA (например, awk) несовместимы с Unicode или текстовыми файлами с широкими символами. Ни одна версия Windows Services for UNIX не доступна для Windows XP Professional x64 Edition.

Наследие

Windows Server 2003 R2 содержит большинство компонентов SFU, а именно Microsoft Services для сетевой файловой системы (NFS), подсистему для UNIX-приложений (SUA, также известную как Interix) и управление идентификацией для UNIX. В июле 2007 года обновление безопасности SFU 3.5 обновило posix.exe и связанные файлы, приведя их в соответствие с версией SUA. В отличие от SFU, версия SUA, включенная в Windows Server 2003 R2 (и последующие версии), поддерживает 64-разрядные системы и позволяет связывать библиотеки Win32 с приложениями SUA. Windows Vista и Windows 7 Enterprise и Ultimate также содержат компоненты Services for Unix, теперь называемые подсистемой для приложений на базе UNIX (SUA) – они включены в серверные выпуски Windows (например, Windows Server 2008). SUA была объявлена устаревшей в Windows 8 Enterprise и Windows Server 2012 и полностью удалена в Windows 8.1 и Windows Server 2012 R2. Сервер NFS по-прежнему поддерживается в Windows Server 2012 R2. Функции клиента NFS и сервера отделены от SUA в Windows 7 и 2008 и оставались поддерживаемыми до появления Windows Subsystem for Linux, которая их заменила. На настольных компьютерах (Windows 7) NFS доступна только в версиях Enterprise и Ultimate. Бесплатная эталонная реализация NFS 4.1 для Windows (от UMICH CITI), разработка которой финансировалась Microsoft, работает на более ранних версиях Windows 7, но требует более сложной установки. В Windows 8 клиент NFS получил поддержку krb5p (Kerberos 5 с полным шифрованием данных). В Windows 7 поддерживалась аутентификация Kerberos 5, но для данных была доступна только проверка целостности пакетов. Максимальный размер блока/буфера также был увеличен с 32 КБ до 1 МБ в Windows 8. Windows Server 2012 добавила поддержку сервера NFS 4.1. Новая реализация основана на ядре (в плане RPC/XDR), но многие необязательные функции NFS4 не реализованы, включая ACL, pNFS и т. д. Однако в PowerShell предусмотрена поддержка сопоставления идентификаторов пользователей.