В операционных системах семейства Microsoft® Windows® имена большинства объектов (таких как файлы и каталоги) являются сохраняющими регистр букв, но независящими от регистра. Это означает, что при именовании подобных объектов можно использовать прописные и строчные буквы, но Windows не различает имена только на основе регистра букв. Например, в одном каталоге не может быть двух файлов с именами sample.txt и Sample.txt, так как при идентификации файлов Windows считает эти имена одинаковыми.

Учет регистра и подсистема для UNIX-приложений

Операционные системы семейства UNIX, напротив, полностью поддерживают учет регистра, и поэтому компьютеры, работающие под управлением операционных систем семейства UNIX, различают имена объектов, единственным различием которых является регистр букв, используемых в этих именах. Следовательно, в большинстве UNIX-компьютеров файлы с именами sample.txt и Sample.txt могут храниться в одном каталоге, и операционная система UNIX отличит их при выполнении действий с файлами. Например, при выполнении команды rm S*.txt будет удален файл Sample.txt, но не sample.txt.

Чтобы реализовать типичное поведение в стиле UNIX, при работе с именами файлов подсистема для UNIX-приложений обычно учитывает регистр букв. Это может стать источником проблем безопасности, особенно для пользователей Windows, которые привыкли к соглашениям Windows, обеспечивающим независимость от регистра. Например, версия edit.exe, зараженная вредоносной троянской программой и названная EDIT.EXE, может храниться в том же каталоге, что и edit.exe. Если пользователь введет edit в командной строке Windows, вместо стандартной версии может быть выполнена троянская версия (EDIT.EXE). Если учет регистра включен, пользователи Windows должны быть уведомлены об этой возможности.

Восстановление настроек по умолчанию для учета регистра

В операционных системах Microsoft Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server® 2003 и Windows XP стандартным поведением подсистем, отличных от подсистемы Win32, должно быть сохранение регистра букв при независимости от него. В предыдущих версиях Windows подобные системы по умолчанию учитывали регистр букв полностью. Для поддержки стандартного поведения в стиле UNIX можно изменить стандартное поведение Windows Server 2003 и Windows XP для подсистем, отличных от Win32, при установке базовых служебных программ, являющихся частью загружаемого пакета служебных программ и SDK подсистемы для UNIX-приложений. Если включить учет регистра, а затем удалить базовые служебные программы, будет восстановлено стандартное, не учитывающее регистр, поведение подсистем, отличных от Win32.

Для получения дополнительных сведений об изменении настроек учета регистра см. описание настройки учета регистра для имен файлов и папок (https://go.microsoft.com/fwlink/?LinkId=53334).