Структура реестра
Следует обратить особое внимание на весьма существенное различие между реестрами Windows 9x/ME и Windows NT/2000/XP/Windows Server 2003, касающееся ключа HKEY_USERS. Как известно, в Windows 9x/ME не существует встроенных средств для предотвращения несанкционированного доступа к системе, и для регистрации нового пользователя не требуется наличия учетной записи. Ключ реестра HKEY_USERS в этих операционных системах содержит вложенные ключи вида username, где username – входные имена пользователей.
В отличие от Windows 9x/ME и по аналогии с Windows NT/2000, Windows ХР и Windows Server 2003 для доступа пользователей в обязательном порядке требуют наличия пользовательской учетной записи (user account), причем это требование совершенно не зависит от того, принимает ли ваш компьютер участие в работе сети. Далее, Windows NT/ 2000/ХР или Windows Server 2003 идентифицируют пользователей не по входным именам (login names), а по идентификаторам безопасности (Security IDs, SIDs), большинство из которых является уникальными для каждого пользователя (в том числе и для пользовательских учетных записей в разных системах).
Исключение составляют только так называемые "хорошо известные" SID (well-known SIDs), например, такие, как встроенная группа Everyone (S-1-1-0) или пользователь Creator Owner (S-1-3-0), полный список которых можно найти в статье Microsoft Knowledge Base Q243330 – "Well Known Security Identifiers in Windows 2000 and Windows ХР". Если вы удалите пользовательскую учетную запись в локальной системе или в домене, а затем создадите новую с использованием того же входного имени, то для новой учетной записи будет сгенерирован новый SID.
Идентификаторы безопасности имеют следующий формат: S-1-XXXXX1-YYYYY2-…-RID, где: S-1 – идентификатор безопасности (Security ID), версия 1; ХХХХХ – номер ведомства (authority number), YYYYYn – номера подразделений (subauthority numbers), RID – относительный идентификатор (Relative ID). Обратите внимание на то, что относительные идентификаторы (RID) уже не будут уникальны для каждого компьютера.
Многие пользователи Windows, даже довольно опытные, часто ошибочно считают, что система идентифицирует пользователей по их регистрационной информации – входному имени (username или login name) и паролю (password). Следует особо подчеркнуть, что это распространенное мнение является ошибочным, т. к. система идентифицирует пользователей именно по их идентификаторам безопасности. Пользовательские профили также идентифицируются по ассоциированным с ними SID (рис. 24.2).
Данные реестра поддерживаются в виде параметров, расположенных под ключами реестра. Каждый параметр характеризуется именем, типом данных и собственно значением. Три части параметра реестра всегда располагаются в следующем порядке:
Рис. 24.2. В отличие от Windows 9x/ME и по аналогии с Windows NT/2000, Windows XP и Windows Server 2003 идентифицируют пользовательские профили по ассоциированным с ним идентификаторам безопасности (SID)