Windows Services for UNIX

Last updated

Windows Services for UNIX
Other namesSFU
Original author(s) MKS Inc. (SFU 1.0 / 2.0), Softway Systems, Inc. (SFU 3.0 / 3.5)
Developer(s) Microsoft
Initial releaseFebruary 1999;25 years ago (1999-02)
Final release
3.5 / January 2004;20 years ago (2004-01)
Operating system Microsoft Windows
Platform IA-32 and x86-64
Predecessor Microsoft POSIX subsystem
Successor Windows Subsystem for Linux
Type Compatibility layer
Website Windows Services for Unix at the Wayback Machine (archived 2017-08-26)

Windows Services for UNIX (SFU) is a discontinued software package produced by Microsoft which provided a Unix environment on Windows NT and some of its immediate successor operating-systems.

Contents

SFU 1.0 and 2.0 used the MKS Toolkit; starting with SFU 3.0, SFU included the Interix subsystem, [1] which was acquired by Microsoft in 1999 from US-based Softway Systems as part of an asset acquisition. [2] SFU 3.5 was the last release and was available as a free download from Microsoft. Windows Server 2003 R2 included most of the former SFU components (on Disk 2), naming the Interix subsystem component Subsystem for UNIX-based Applications (SUA). [3] In Windows Server 2008 and high-end versions of both Windows Vista and Windows 7 (Enterprise and Ultimate), a minimal Interix SUA was included, but most of the other SFU utilities had to be downloaded separately from Microsoft's web site. [1]

The Interix subsystem included in SFU 3.0 and 3.5 and later released as SUA Windows components provided header files and libraries that made it easier to recompile or port Unix applications for use on Windows; they did not make Linux or other Unix binaries (BSD, Solaris, Xenix etc) compatible with Windows binaries. Like the Microsoft POSIX subsystem that Interix replaced, it is best thought of as a distinct Unix-like platform.

It is replaced by Windows Subsystem for Linux in Windows 10 and Windows Server 2019.

Components

KornShell running on SUA Korn Shell running on SUA.png
KornShell running on SUA
C shell running on SUA C Shell running on SUA.png
C shell running on SUA

As of SFU 3.5, it contained:

SFU did 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.

Releases

1.0

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:

2.0

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:

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

3.0

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:

3.5

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 (original release only [lower-alpha 1] ) 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:

Microsoft does not intend to produce any further standalone versions of SFU, opting instead for the integrated SUA. As of August 18, 2016, v3.5 is unavailable from the provided Microsoft Link. [4] General support continued until 2011; extended support until 2014. [5]

Known problems

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, [6] [7] 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. [8] 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. [9]

Legacy

Windows Server 2003 R2 contains most SFU components, namely Microsoft Services for Network File System (NFS), Subsystem for UNIX-based Applications (SUA, a.k.a. Interix), and Identity Management for UNIX. [10] The July 2007 SFU 3.5 Security Update updated posix.exe and related files to match the SUA version. [11]

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. [12]

Windows Vista and Windows 7 Enterprise and Ultimate Editions also contain the Services for Unix components, now called the Subsystem for UNIX-based applications (SUA), [3] 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 [13] – these are included in Server editions of Windows (i.e. Windows Server 2008).

SUA was deprecated in Windows 8 Enterprise [14] and Windows Server 2012, [15] and completely removed in Windows 8.1 and Windows Server 2012 R2. [16] The NFS server is still supported in Windows Server 2012 R2. [17] [18]

The NFS client feature and server features are separate from the SUA in Windows 7 and 2008, [19] and remained supported until Windows Subsystem for Linux replaced it. On desktop (Windows 7), NFS is only available in the Enterprise and Ultimate editions. [20] The free reference implementation of NFS 4.1 for Windows (by UMICH CITI), the development of which was sponsored by Microsoft, [21] does work on lower-end versions of Windows 7, but requires more involved installation. [22]

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. [23]

Windows Server 2012 added support for NFS 4.1 server. [24] [25] 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. [26]

See also

Notes

  1. Only works on "R1", not on R2

Related Research Articles

The Portable Operating System Interface is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system and user-level application programming interfaces (APIs), along with command line shells and utility interfaces, for software compatibility (portability) with variants of Unix and other operating systems. POSIX is also a trademark of the IEEE. POSIX is intended to be used by both application and system developers.

The Secure Shell Protocol (SSH) is a cryptographic network protocol for operating network services securely over an unsecured network. Its most notable applications are remote login and command-line execution.

Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. It is a protocol for bidirectional 8-bit communications. Its main goal was to connect terminal devices and terminal-oriented processes.

Network File System (NFS) is a distributed file system protocol originally developed by Sun Microsystems (Sun) in 1984, allowing a user on a client computer to access files over a computer network much like local storage is accessed. NFS, like many other protocols, builds on the Open Network Computing Remote Procedure Call system. NFS is an open IETF standard defined in a Request for Comments (RFC), allowing anyone to implement the protocol.

The Network Information Service, or NIS, is a client–server directory service protocol for distributing system configuration data such as user and host names between computers on a computer network. Sun Microsystems developed the NIS; the technology is licensed to virtually all other Unix vendors.

<span class="mw-page-title-main">Server Message Block</span> Network communication protocol for providing shared access to resources

Server Message Block (SMB) is a communication protocol used to share files, printers, serial ports, and miscellaneous communications between nodes on a network. On Microsoft Windows, the SMB implementation consists of two vaguely named Windows services: "Server" and "Workstation". It uses NTLM or Kerberos protocols for user authentication. It also provides an authenticated inter-process communication (IPC) mechanism.

In computing, X-Win32 is a proprietary implementation of the X Window System for Microsoft Windows, produced by StarNet Communications. It is based on X11R7.4.

<span class="mw-page-title-main">PuTTY</span> Free and open-source terminal emulator, serial console and network file transfer application

PuTTY is a free and open-source terminal emulator, serial console and network file transfer application. It supports several network protocols, including SCP, SSH, Telnet, rlogin, and raw socket connection. It can also connect to a serial port. The name "PuTTY" has no official meaning.

Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft Corporation which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software.

<span class="mw-page-title-main">Windows NT 3.1</span> First major release of Windows NT, released in 1993

Windows NT 3.1 is the first major release of the Windows NT operating system developed by Microsoft, released on July 27, 1993.

File locking is a mechanism that restricts access to a computer file, or to a region of a file, by allowing only one user or process to modify or delete it at a specific time and to prevent reading of the file while it's being modified or deleted.

Interix was an optional, POSIX-conformant Unix subsystem for Windows NT operating systems. Interix was a component of Windows Services for UNIX, and a superset of the Microsoft POSIX subsystem. Like the POSIX subsystem, Interix was an environment subsystem for the NT kernel. It included numerous open source utility software programs and libraries. Interix was originally developed and sold as OpenNT until purchased by Microsoft in 1999.

<span class="mw-page-title-main">Architecture of Windows NT</span> Structure of the operating system

The architecture of Windows NT, a line of operating systems produced and sold by Microsoft, is a layered design that consists of two main components, user mode and kernel mode. It is a preemptive, reentrant multitasking operating system, which has been designed to work with uniprocessor and symmetrical multiprocessor (SMP)-based computers. To process input/output (I/O) requests, it uses packet-driven I/O, which utilizes I/O request packets (IRPs) and asynchronous I/O. Starting with Windows XP, Microsoft began making 64-bit versions of Windows available; before this, there were only 32-bit versions of these operating systems.

<span class="mw-page-title-main">Microsoft Data Access Components</span> Framework

Microsoft Data Access Components is a framework of interrelated Microsoft technologies that allows programmers a uniform and comprehensive way of developing applications that can access almost any data store. Its components include: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). There have been several deprecated components as well, such as the Jet Database Engine, MSDASQL, and Remote Data Services (RDS). Some components have also become obsolete, such as the former Data Access Objects API and Remote Data Objects.

Windows Vista contains a range of new technologies and features that are intended to help network administrators and power users better manage their systems. Notable changes include a complete replacement of both the Windows Setup and the Windows startup processes, completely rewritten deployment mechanisms, new diagnostic and health monitoring tools such as random access memory diagnostic program, support for per-application Remote Desktop sessions, a completely new Task Scheduler, and a range of new Group Policy settings covering many of the features new to Windows Vista. Subsystem for UNIX Applications, which provides a POSIX-compatible environment is also introduced.

Security Support Provider Interface (SSPI) is a component of Windows API that performs security-related operations such as authentication.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session on a remote computer or virtual machine over a network connection. RDS was first released in 1998 as Terminal Server in Windows NT 4.0 Terminal Server Edition, a stand-alone edition of Windows NT 4.0 Server that allowed users to log in remotely. Starting with Windows 2000, it was integrated under the name of Terminal Services as an optional component in the server editions of the Windows NT family of operating systems, receiving updates and improvements with each version of Windows. Terminal Services were then renamed to Remote Desktop Services with Windows Server 2008 R2 in 2009.

<span class="mw-page-title-main">Microsoft POSIX subsystem</span> Subsystem shipped with the first versions of Windows NT

Microsoft POSIX subsystem is one of four subsystems shipped with the first versions of Windows NT, the other three being the Win32 subsystem which provided the primary API for Windows NT, plus the OS/2 and security subsystems.

<span class="mw-page-title-main">Unix-like</span> Operating system that behaves similarly to Unix, e.g. Linux

A Unix-like operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-like application is one that behaves like the corresponding Unix command or shell. Although there are general philosophies for Unix design, there is no technical standard defining the term, and opinions can differ about the degree to which a particular operating system or application is Unix-like.

Windows 8, a major release of the Microsoft Windows operating system, was available in four different editions: Windows 8 (Core), Pro, Enterprise, and RT. Only Windows 8 (Core) and Pro were widely available at retailers. The other editions focus on other markets, such as embedded systems or enterprise. All editions support 32-bit IA-32 CPUs and x64 CPUs.

References

  1. 1 2 Dale Liu; Justin Peltier (2008). Next Generation SSH2 Implementation: Securing Data in Motion. Syngress. pp. 181–182. ISBN   978-1-59749-283-6. Archived from the original on September 30, 2014. Retrieved October 26, 2016.
  2. "Microsoft Acquires Softway Systems to Strengthen Future Customer Interoperability Solutions" (Press release). Microsoft. September 17, 1999. Archived from the original on February 22, 2011. Retrieved December 28, 2010.
  3. 1 2 "Subsystem for UNIX-based Applications Overview". Microsoft. November 17, 2009. Retrieved August 20, 2022.
  4. "Download details: Windows Services for UNIX Version 3.5". Microsoft. September 21, 2006. Archived from the original on April 14, 2006.
  5. Mary Jo Foley (September 1, 2005). "It's the End of the Line for Microsoft's Services for Unix Product". eWeek Microsoft Watch. Archived from the original on September 5, 2012.
  6. Charlie Russel (December 5, 2007). "Windows Services for UNIX 3.5 White Paper". Microsoft.
  7. "Chapter 1: Introduction to Windows Services for UNIX 3.5". UNIX Custom Application Migration Guide, Volume 2: Migrate Using UNIX Services for Windows 3.5. Microsoft. December 5, 2007.
  8. "Debian Interix Port". Debian-interix.net. Archived from the original on January 2, 2014. Retrieved January 10, 2014.
  9. "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". Archived from the original on November 28, 2011. Retrieved August 11, 2011.
  10. "Microsoft Windows Server 2003 R2 UNIX Interoperability Components". Microsoft. Archived from the original on May 10, 2005.
  11. "Microsoft Security Bulletin MS07-053 - Important : Vulnerability in Windows Services for UNIX Could Allow Elevation of Privilege (939778)". Microsoft . Archived from the original on May 4, 2011. Retrieved March 8, 2011.
  12. "Open Source at Microsoft. Subsystem for UNIX-Based Applications: Providing More Choices" (PDF). Archived (PDF) from the original on February 26, 2012. Retrieved May 30, 2011.
  13. Ashish (May 1, 2007). "UNIX Interoperability and Windows Vista". Services for UNIX - Interoperability Blog, MSDN Blogs. Archived from the original on March 8, 2010.
  14. Reiter, Brian (September 15, 2011). "SUA Deprecated in Windows 8". Archived from the original on June 9, 2012. Retrieved October 15, 2011. SUA is deprecated starting with [the Windows 8 M3 Developer Preview] release and will be completely removed from the next release.
  15. "Features Removed or Deprecated in Windows Server 2012". August 31, 2016. Retrieved August 20, 2022.
  16. "Features Removed or Deprecated in Windows Server 2012 R2 Preview". August 31, 2016. Retrieved August 20, 2022.
  17. "Network File System Overview". Microsoft. August 31, 2016. Retrieved August 20, 2022.
  18. 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.
  19. "Installation & Configuration of Windows NFS Client to enable Windows to Mount a UNIX File System". Running SAP Applications on SQL Server blog. February 3, 2011. Retrieved August 20, 2022.
  20. "Mount NFS Share Windows 7 | Zwiegnet Blog 2013 | Server Hosting". Blog.zwiegnet.com. Archived from the original on January 10, 2014. Retrieved January 10, 2014.
  21. "Microsoft finances open-source NFS v4 implementation for Windows". ZDNet . Retrieved August 20, 2022.
  22. "NFS Client in Windows 7 Pro". drink the sweet feeling of the colour zero. April 29, 2012. Retrieved August 20, 2022.
  23. "Client for NFS in Windows 8". Services for UNIX - Interoperability blog. Archived from the original on January 10, 2014. Retrieved January 10, 2014.
  24. "Server for NFS in Windows Server 2012". The Storage Team at Microsoft - File Cabinet Blog. September 14, 2012. Retrieved August 20, 2022.
  25. "Microsoft storage boffins serve up smoking 2012 NFS server • the Register". The Register . Archived from the original on June 17, 2018. Retrieved September 18, 2017.
  26. "NFSv4.1 Architecture and Tradeoffs in Windows Server 2012" (PDF). Archived (PDF) from the original on March 16, 2019. Retrieved August 9, 2018.