Защита реестра. Иерархическая структура реестра Windows NT. Управление системой через реестр. Основные кусты реестра, страница 2

Рис. 6-2. Основные кусты реестра Windows NT.

Раздел HARDWARE ветви HKEY_LOCAL_MACHINE не является кустом, поскольку находящаяся в нем информация не сохраняется в каком-либо файле. При каждом запуске Windows NT данные в этот раздел записываются заново. Они либо извлекаются из памяти аппаратных компонентов (firmware) компьютеров с RISC-процессорами, либо собираются программой NTDETECT.COM для компьютеров с х86-процессорами.

При редактировании параметров реестра (любым из рассмотренных выше способов) новые значения сохраняются и в памяти, и в файле на магнитном диске. Целостность данных реестра в процессе их модификации обеспечивает механизм, основанный на применении журналов транзакций. Любое изменение, вносимое в реестр, вначале фиксируется в журнале (для этого у каждого из кустов существует свой отдельный файл с расширением .LOG) и только затем переносится в файл соответствующего куста. Такой механизм позволяет предотвратить повреждение информации, если в момент ее модификации происходит аппаратный сбой. При следующем запуске системы Windows NT на основе анализа журналов транзакций определяется, какие изменения на момент сбоя были завершены, а какие — нет. Первые записываются в файл, соответствующий нужному кусту реестра, вторые просто удаляются из журнала.

Кроме ветви HKEY_LOCAL_MACHINE, в которой находится информация, относящаяся ко всему компьютеру с операционной системой Windows NT в целом, в реестре есть ветвь HKEY_USERS. Здесь располагаются разделы и параметры, определяющие настройки программного обеспечения для отдельных пользователей Windows NT (т. е. профили пользователей). Обычно в данной ветви реестра хранятся только профили пользователей, в данный момент зарегистрированных в системе (в том числе и в качестве службы), а также профиль по умолчанию (.DEFAULT).

Для функционирования операционной системы Windows NT и дополнительно установленных приложений, для нормальной работы пользователей важно, чтобы все вышеупомянутые разделы реестра содержали правильную информацию. Это в первую очередь относится к разделам ветви HKEY_LOCAL_MACHINE. Так, например, ошибочные значения параметров в разделе SYSTEM могут привести к тому, что какой-либо драйвер или служба Windows NT перестанет загружаться, а это может привести к невозможности успешной загрузки всей системы. Модификация параметров раздела SOFTWARE способна вызвать ошибки в работе тех или иных программ, установленных на компьютере. А при неправильных изменениях в разделах SAM и SECURITY пользователи не смогут войти в систему для работы на данном компьютере или в домене.

Информация о безопасности реестра

Ясно, что в многопользовательской операционной системе, такой как Windows NT, доступ разных пользователей к параметрам реестра необходимо строго разграничивать и контролировать. Для этого разделы и подразделы реестра защищаются в системе так же, как, например, папки и вложенные папки на дисках, отформатированных с файловой системой NTFS. Настройка параметров системы безопасности для разделов реестра осуществляется с помощью программы REGEDT32 (рис. 6-3).

Рис. 6-3. Меню Security программы REGEDT32 позволяет разграничивать доступ к разделам реестра Windows NT.

Упоминавшаяся ранее программа REGEDIT из комплекта Windows NT версии 4.0, хоть и позволяет манипулировать системным реестром, средств работы с информацией о безопасности не имеет. С другой стороны, в эту программу включены гораздо более развитые средства поиска. Используя ее, можно осуществлять поиск нужной последовательности символов не только в названиях разделов и подразделов, но и в именах и значениях параметров реестра. REGEDIT (в отличие от REGEDT32) также позволяет изменять названия разделов, что иногда просто необходимо.