Subsystem for UNIX-based Applications

From Wikipedia, the free encyclopedia
  (Redirected from Windows Services for Unix)
Jump to: navigation, search
Korn shell running on SUA
C shell running on SUA

Subsystem for UNIX-based Applications (SUA) (formerly Windows Services for UNIX or SFU),[1] is a discontinued software package produced by Microsoft that provides a Unix subsystem and other parts of a full Unix environment on the Windows NT family of operating systems. It replaces the Microsoft POSIX subsystem, which was available for Windows NT 3.5 through Windows 2000.

SFU 1.0 and 2.0 (in Windows NT 4.0 and Windows 2000) used the MKS Toolkit; starting with SFU 3.0 (Windows XP; 1999), SFU used the Interix subsystem,[2] which was acquired by Microsoft in 1999 from the US-based Softway Systems.[3] These are available free from Microsoft as a download. Like the Microsoft POSIX subsystem in earlier versions of Windows NT, Interix is not an emulation of a Unix kernel, but rather an implementation of a user-mode subsystem running on the Windows NT kernel.[4] Windows Server 2003 R2 included SFU 3.5 (on Disk 2), and renamed it to Subsystem for UNIX-based Applications.[1] In Windows Server 2008 and high-end editions of both Windows Vista and Windows 7 (Enterprise and Ultimate), a minimal SUA is included, but most of the utilities must be downloaded from Microsoft's web site.[2] SUA was marked as deprecated in Windows Server 2012 and Windows 8. It was removed from Windows Server 2012 R2 and Windows 8.1.

SFU and SUA provide header files and libraries that make it easier to recompile or port Unix applications for use on Windows; they do not make Unix binaries compatible with Windows binaries. It is best thought of as a distinct Unix-like platform.


As of 2011 SFU contains:

  • 350 Unix utilities such as vi, ksh, csh, ls, cat, awk, grep, and kill.
  • GCC 3.3 compiler, "include" files and libraries (through an MS libc)
  • A cc-like wrapper for Microsoft Visual Studio command-line C and C++ compiler
  • GDB debugger
  • Perl
  • Network File System (NFS) server and client
  • A pcnfsd daemon
  • X11 tools and libraries
  • Tools for making NFS mount-points appear as Windows shares, and vice versa (gateway services)
  • A NIS server capability linked with Active Directory (AD)
  • Some Windows-Unix authentication information synchronization tools

SFU does not contain the following:

Although SFU includes X Window System client libraries and applications, it does not contain a native X server. Administrators may configure any of the numerous third-party Windows X servers. Fully featured free options include Cygwin/X, Xming and WeirdX.


SFU 1.0[edit]

Microsoft produced at least one beta release of the initial version of SFU before its final release in February 1999. This release, in English only, was supported on the Windows NT 4.0 SP3+ for x86 and Alpha platforms. This is the only known release to support Alpha. It included a demonstration version of the MKS Toolkit along with the following components:

  • Telnet server
  • Telnet client
  • UNIX Utilities (from MKS)
  • Client for NFS
  • Server for NFS
  • Server for NFS Authentication
  • Windows NT to UNIX password-synchronization
  • Help files and documentation

SFU 2.0[edit]

This second installment of SFU was released April 2000 and was also for English; however, a Japanese-language release appeared just two months later in June 2000. Both ran on Windows NT 4.0 SP4+ and Windows 2000 on x86 platforms with Internet Explorer 4.01+. SFU 2.0 supported the following UNIX versions: Solaris 2.6+, HP-UX 10.2+, AIX 4.2+, Tru64 UNIX 5.0+, and Red Hat Linux 5.1+. It included the following components:

  • Server for NFS (NFSServer)
  • Client for NFS (NFSClient)
  • Gateway for NFS (NFSGateway)
  • Server for PCNFS (Pcnfsd)
  • User Name Mapping (Mapsvc)
  • Server for NFS Authentication (NFSServerAuth)
  • Server for NIS (NIS)
  • Telnet client (TelnetClient)
  • Telnet server (TelnetServer)
  • Password synchronization (PasswdSync)
  • ActiveState ActivePerl (Perl)
  • UNIX utilities (UnixUtilities)
  • Cron service (CronSvc)
  • Rsh service (RshSvc)

There were subsequent updated OEM releases SFU 2.1, SFU 2.2, and SFU 2.3.

SFU 3.0[edit]

This version, released in May 2002, was the first release to include the Interix subsystem. Previously Microsoft had released Interix 2.2 (actually version 2.2.5) as a separate product around the same time frame as SFU 2.0. This SFU release included Interix release 3.0 (commonly called the "version" as reported by uname -r) with an internal Microsoft version of 7.0 that relates to internal build sequences. This Interix release contained significant technical extensions from the Interix 2.2 release such as a rooted file system and setuid functionality that were entirely based on the Softway Systems' Interix development codenamed "Firebrand". This was also released in English and followed by a later release in Japanese in October 2002, adding internationalization support. Both supported Windows NT 4.0 SP6a+, Windows 2000, and Windows XP Professional on x86 platforms with Internet Explorer 5.0+. The MKS Toolkit was no longer included. It included the following components:

  • Base Utilities for Interix (BaseUtils; including X11R5 utilities)
  • UNIX Perl for Interix (UNIXPerl)
  • Interix SDK (InterixSDK; including headers and libraries for development and a wrapper for Visual Studio compiler)
  • GNU Utilities for Interix (GNUUtils, about 9 utilities in total)
  • GNU SDK for Interix (GNUSDK; including gcc and g++)
  • NFS Client for Windows (NFSClient)
  • NFS Gateway for Windows (NFSGateway)
  • NFS Server for Windows (NFSServer)
  • NIS Server for Windows (NIS)
  • Password Synchronization (PasswdSync)
  • Windows Remote Shell Service (RshSvc)
  • Telnet Server for Windows (TelnetServer)
  • NFS User Name Mapping (Mapsvc)
  • NFS Authentication Server (NFSServerAuth)
  • PCNFS Server (Pcnfsd)
  • ActiveState Perl (Perl)

SFU 3.5[edit]

This was the final release of SFU and the only release to be distributed free of charge. It was released January 2004 and included both English and Japanese versions for Windows 2000, Windows XP Professional, and Windows Server 2003 on x86 platforms with Internet Explorer 5.0+. It included Interix subsystem release 3.5 (build version 8.0) adding internationalization support (at least for the English version which did not have such until now) and POSIX threading. This release could only be installed to an NTFS file system (earlier versions supported FAT; this was for improved file-security requirements in Interix 3.5). The following UNIX versions were supported for NFS components: Solaris 7 and 8, Red Hat Linux 8.0, AIX 5L 5.2, and HP-UX 11i. It included the following components:

  • Base Utilities for Interix (BaseUtils; including X11R6 and X11R5 utilities)
  • UNIX Perl for Interix (UNIXPerl)
  • Interix SDK (InterixSDK; including headers and libraries for development and a wrapper for Visual Studio compiler)
  • GNU Utilities for Interix (GNUUtils, again about 9 utilities)
  • GNU SDK for Interix (GNUSDK; including gcc and g++)
  • NFS Client for Windows (NFSClient)
  • NFS Gateway for Windows (NFSGateway)
  • NFS Server for Windows (NFSServer)
  • NIS Server for Windows (NIS)
  • Password synchronization (PasswdSync)
  • Windows Remote Shell Service (RshSvc)
  • Telnet Server for Windows (TelnetServer)
  • NFS User Name Mapping (Mapsvc)
  • NFS Authentication Server (NFSServerAuth)
  • PCNFS server (Pcnfsd)
  • ActiveState Perl (Perl)

Microsoft does not intend to produce any further standalone versions of SFU, opting instead for the integrated SUA. As of February 6, 2014 v3.5 is still downloadable.[5] General support will continue until 2011; extended support until 2014.[6]

SUA and separate NFS[edit]

Windows Server 2003 R2 contains the largest number of Unix-related components, namely Microsoft Services for Network File System, SUA, and Identity Management for UNIX.[7] The July 2007 SFU 3.5 Security Update updated posix.exe and related files to match the SUA version.[8]

Unlike the SFU, the SUA version included in Windows Server 2003 R2 (and subsequent versions) has 64-bit support and allows linking of Win32 libraries to SUA applications.[9]

Windows Vista and Windows 7 Enterprise and Ultimate Editions also contain SUA,[1] and Client for NFS v3. Users must download the utilities and SDK separately. However, the server components from the SFU product line (namely Server for NFS, User Name Mapping, Server for NIS, Password Synchronization etc.) are not included[10]–these are included in Server editions of Windows (i.e. Windows Server 2008).

The NFS client feature and server features are separate from the SUA in Windows 7 and 2008, respectively.[11] In the desktop version (Windows 7) NFS is only available in the Enterprise and Ultimate editions.[12] The free reference implementation of NFS 4.1 for Windows (by UMICH CITI), the development of which was sponsored by Microsoft,[13] does work on lower-end editions of Windows 7, but requires more involved installation.[14]

In Windows 8, the NFS client gained krb5p (Kerberos 5 with full data encryption) support. In Windows 7, Kerberos 5 was supported for authentication, but only packet integrity checking was available for data. The maximum block/buffer size was also increased from 32 KB to 1 MB in Windows 8.[15]

Windows Server 2012 added support for NFS 4.1 server.[16][17] The new implementation is kernel-based (RPC/XDR-wise) but many optional features from NFS4 are not implemented, including ACLs, pNFS etc. There is however support in powershell for mapping user identities.[18]

SUA was marked as deprecated after the release of Windows 8 Developer Preview, even though it was included in Windows 8.0 Enterprise and Windows Server 2012.[19] It was completely removed in Windows 8.1[20] and Windows Server 2012 R2.[21] The NFS server is still supported in Windows 2012 R2.[22][23]

Known problems[edit]

Character translation must be used to accommodate filenames which include a colon (:) or other characters that do not comply with the naming conventions of Windows file-systems. Files with the same name but different cases are also not allowed by default, but can be enabled on installation with the side-effect of making the underlying partition's filesystem case-sensitive,[24][25] even for the Win32 subsystem.

Network authentication for UNIX systems relies on the insecure NIS protocol (LDAP- and Kerberos-based authentication require a third-party solution). Microsoft has released several hotfixes for Windows Services for UNIX, and at least one Security Update (KB939778). The GNU Project utilities are several versions older than the latest ones. A separate port of the up-to-date Debian utilities was started in 2007, but apparently abandoned in 2009.[26] Several of the text processing utilities in SUA (e.g. awk) are not compatible with Unicode or wide character text files.

No version of Windows Services for UNIX is available for Windows XP Professional x64 Edition.[27]

See also[edit]


  1. ^ a b c "Subsystem for UNIX-based Applications Overview". Retrieved 2014-01-10. 
  2. ^ a b Dale Liu; Justin Peltier (2008). Next Generation SSH2 Implementation: Securing Data in Motion. Syngress. pp. 181–182. ISBN 978-1-59749-283-6. 
  3. ^ "Microsoft Acquires Softway Systems To Strengthen Future Customer Interoperability Solutions". News Center (Press release). Redmond, Washington: Microsoft. 17 September 1999. 
  4. ^ "How to perform maintenance and ancillary tasks after a UNIX-to-Windows migration". 2006-10-30. Retrieved 2014-01-10. 
  5. ^ Download details: Windows Services for UNIX Version 3.5, Date Published: 9/21/2006, Microsoft
  6. ^ It's the End of the Line for Microsoft's Services for Unix Product, September 1, 2005, Microsoft Watch, eWeek
  7. ^ "Windows Server 2003 R2 UNIX Interoperability Components". TechNet. Microsoft. Archived from the original on 10 May 2005. 
  8. ^ Microsoft Security Bulletin MS07-053 - Important : Vulnerability in Windows Services for UNIX Could Allow Elevation of Privilege (939778)
  9. ^ Open Source at Microsoft. Subsystem for UNIX-Based Applications: Providing More Choices
  10. ^ UNIX Interoperability and Windows Vista, Published 01 May 2007, Ashish, Services for UNIX - Interoperability Blog, MSDN Blogs
  11. ^ "Installation & Configuration of Windows NFS Client to enable Windows to Mount a UNIX File System - Running SAP Applications on SQL Server - Site Home - MSDN Blogs". 2011-02-03. Retrieved 2014-01-10. 
  12. ^ "Mount NFS Share Windows 7 | Zwiegnet Blog 2013 | Server Hosting". Retrieved 2014-01-10. 
  13. ^
  14. ^ "NFS Client in Windows 7 Pro « drink the sweet feeling of the colour zero". 2012-04-29. Retrieved 2014-01-10. 
  15. ^
  16. ^ "Server for NFS in Windows Server 2012 - The Storage Team at Microsoft - File Cabinet Blog - Site Home - TechNet Blogs". 2012-09-14. Retrieved 2014-01-10. 
  17. ^
  18. ^
  19. ^ "Features Removed or Deprecated in Windows Server 2012". 
  20. ^ Reiter, Brian (15 September 2011). "SUA Deprecated in Windows 8". Retrieved 15 October 2011. SUA is deprecated starting with [the Windows 8 M3 Developer Preview] release and will be completely removed from the next release. 
  21. ^ "Features Removed or Deprecated in Windows Server 2012 R2 Preview". 
  22. ^ "Network File System Overview". Retrieved 2014-01-10. 
  23. ^ Minasi, Mark; Greene, Kevin; Booth, Christian; Butler, Robert; McCabe, John; Panek, Robert; Rice, Michael; Roth, Stefan (2013). Mastering Windows Server 2012 R2. John Wiley & Sons. pp. 565 and 636. ISBN 978-1-118-33394-5. 
  24. ^ Windows Services for UNIX 3.5 White Paper, April 22, 2004, Charlie Russel, Microsoft Corporation
  25. ^ Chapter 1: Introduction to Windows Services for UNIX 3.5, Published: May 31, 2006, Microsoft Corporation
  26. ^ "Debian Interix Port". Retrieved 2014-01-10. 
  27. ^ You receive a "Cannot install on a 64 bit machine" error message when you try to install Windows Services for UNIX on a computer that is running a 64-bit operating system

External links[edit]