Windows Services for UNIX 3.0 and Case Sensitivity (322838)



The information in this article applies to:

  • Microsoft Windows Services for UNIX 3.0

This article was previously published under Q322838

SUMMARY

When you install Windows Services for UNIX 3.0 on a Microsoft Windows XP-based system, you have to choose whether or not to change the default behavior of object names, such as file names, to being case-sensitive. The choice you make affects system security and Windows Services For UNIX functionality.

MORE INFORMATION

In Windows, the names of most objects (such as files and directories) are case-preserving but not case-sensitive. You may use uppercase and lowercase characters in naming these objects, but Windows does not distinguish between names based on case alone. For example, you cannot have two files in the same directory named "sample.txt" and "SAMPLE.TXT", because Windows regards these names as exactly the same for the purpose of file identification.

UNIX operating systems are fully case-sensitive. UNIX computers distinguish between object names where case is the only difference. On most UNIX systems, "sample.txt" and "SAMPLE.TXT" can appear in the same directory and the UNIX operating system will distinguish between them when performing operations on the files. For example, the following command

rm S*.TXT

deletes "SAMPLE.TXT" but not "sample.txt".

To implement typical UNIX behavior, Server for NFS and the Interix subsystem are generally case-sensitive. This can be a security risk, particularly for Windows users who are accustomed to the case-insensitive conventions of Windows. For example, a Trojan horse version of "edit.exe" named "EDIT.EXE" can be stored in the same directory as "edit.exe". If a user were to type edit at a Windows command prompt, the Trojan horse version (EDIT.EXE) might be executed instead of the standard version. If case sensitivity is turned on, Windows users must be made aware of these risks.

Behavior in Windows

Windows XP

The default behavior of subsystems other than the Win32 subsystem is to be case-preserving but not case-sensitive.

All Earlier Versions of Windows NT and Windows 2000

In earlier versions of Windows, the default behavior of subsystems other than the Win32 subsystem is to be fully case-sensitive.

To support standard UNIX behavior, Windows Services for UNIX Setup permits you to change the default Windows XP behavior for non-Win32 subsystems when you install the base utilities (which installs the Interix subsystem) or Server for NFS. If you turn on case sensitivity and then subsequently remove (uninstall) Server for NFS and the base utilities, Windows Services for UNIX Setup will restore the default, case-insensitive behavior of non-Win32 subsystems.

Modification Type:MajorLast Reviewed:6/3/2002
Keywords:kbenv kbinfo KB322838