Мы уже говорили, что реестр строится в оперативной памяти при загрузке системы WindowsNT. При этом на основании информации, содержащейся в файлах папки \winnt_root\System32\Contig, для каждого раздела и подраздела создается отдельный объект. Доступ к этим объектам контролируется операционной системой так же, как и доступ к любым другим объектам. Кроме данных, хранящихся в соответствующем разделе или подразделе, у каждого такого объекта имеется свой отдельный список прав доступа (Access Control List, ACL), который определяет, какие разрешения (permissions) пользователи и группы будут иметь при доступе к параметрам данного раздела и, соответственно, какие действия с этими параметрами они могут выполнять. Сюда также можно поместить записи, которые задают режим регистрации действий, выполнявшиеся с соответствующим разделом реестра (auditing). И, наконец, у каждого раздела реестра есть владелец (owner). Как и в случае файлов и папок на диске с NTFS, владельцем может быть либо конкретный пользователь компьютера или домена, либо группа Administrators, если раздел создан пользователем, членом данной группы. Кроме того, в качестве владельца (например, раздела HKEY_LOCAL_MACHINE\SAM\SAM) может выступать и операционная система (Owner: SYSTEM).
Еще раз отметим, что объекты реестра в оперативной памяти создаются для разделов и подразделов, но не для отдельных параметров. Именно поэтому в отличие от NTFS (где разрешения можно установить и для папок, и, отдельно, для файлов, находящихся в них) при работе с реестром Windows NT разрешения назначаются только на уровне раздела. Они распространяются на все параметры, которые находятся в соответствующем разделе. Отдельные разрешения на доступ к тому или иному параметру раздела установить нельзя, однако для подразделов можно установить собственные разрешения.
Разрешения на доступ к разделам реестра
Как уже говорилось, разрешения на доступ к тому или иному разделу реестра (т.е. для модификации дискреционного списка прав доступа) обычно изменяются с помощью программы REGEDT32. Установив в ней в качестве текущего нужный раздел, выберите затем в меню Security команду Permissions, и на экране появится диалоговое окно со списком прав доступа к данному разделу (рис. 6-4). В качестве иллюстрации ниже показан ACL для раздела HKEY_LOCAL_MACHINE\SAM\SAM (т.е. для базы данных диспетчера учетных записей). Видно, что по умолчанию члены группы Administrators могут только просматривать и модифицировать список прав доступа к этому разделу.
Рис. 6-4. Диалоговое окно установки прав доступа к разделу реестра в программе REGEDT32.
Окно RegistryKeyPermissionsсильно напоминает окно управления списком прав доступа к папке или файлу на диске с файловой системой NTFS. Разрешения на доступ к разделу, которые можно дать пользователю или группе, в этом окне обозначены как Read, FullControl и SpecialAccess(однако разрешения No Access, как в случае NTFS, нет). Выбор в меню команды SpecialAccessвызывает одноименное диалоговое окно (рис. 6-4), где можно выборочно установить нужные права доступа к соответствующему разделу. Список этих прав и их краткое описание приведены в таблице.
Право доступа... |
Дает возможность... |
QueryValue (Q) |
...прочесть значения параметров раздела, а также узнать время последнего изменения параметров раздела. |
SetValue (S) |
...записать в раздел новые параметры и изменить значения уже существующих. |
CreateSubkey (С) |
...создать подраздел в данном разделе. |
EnumerateSubkeys (E) |
...просмотреть список подразделов. |
Notify(N) |
...получить оповещение об изменениях в данном разделе. |
CreateLink (L) |
...создать в разделе символическую ссылку (symbolic link) на другой раздел. |
Delete (D) |
...удалить данный раздел целиком и/или отдельные его параметры. |
WriteDAC (W) |
...изменить список прав доступа к разделу. |
WriteOwner (О) |
...стать владельцем раздела. |
ReadControl (R) |
...просмотреть информацию о разрешениях на доступ к разделу. |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.