Поделиться через


Права доступа

Право доступа — это право выполнять определенные операции с объектом. Например, право доступа FILE_READ_DATA указывает право на чтение из файла.

При открытии дескриптора для объекта необходимо указать набор прав доступа, соответствующих операциям, которые могут выполняться в объекте. Система проверяет указанные права доступа на дескриптор безопасности объекта, чтобы узнать, разрешена ли каждая операция для текущего пользователя. (Дополнительные сведения см. в разделе дескрипторов безопасности.)

Права доступа доступны в двух типах:

Право конкретного доступа к является правом на выполнение одной операции. Определенные права доступа могут зависеть от типа объекта.

Универсальное право доступа — это право на выполнение одной из операций аналогичного типа. Универсальные права доступа не зависят от типа объекта.

стандартные права доступа являются определенными правами доступа, которые применяются ко всем типам объектов. Например, право доступа DELETE — это право на удаление объекта независимо от типа. Дополнительные сведения о доступных стандартных правах доступа см. в ACCESS_MASK.

Объекты также имеют определенные права доступа, зависящие от типа объекта. Например, FILE_READ_DATA представляет право на чтение из файла, а KEY_QUERY_VALUE предоставляет право читать значения записей для ключа реестра.

Тип объекта может иметь ноль, один или несколько прав доступа, которые соответствуют общему понятию чтения из объекта или записи. Например, помимо FILE_READ_DATA, объекты файлов имеют право FILE_READ_ATTRIBUTES доступа, которое представляет собой чтение метаданных файла (например, время создания файла). Ключевые объекты имеют и KEY_QUERY_VALUE, и KEY_ENUMERATE_SUBKEYS, что предоставляет право на чтение подчиненных ключей.

Чтобы упростить указание всех прав доступа, которые соответствуют общему понятию, например чтение или запись, система предоставляет универсальные права доступа. Система сопоставляет универсальное право доступа к соответствующему набору определенных прав доступа для объекта.

Система предоставляет следующие универсальные права доступа:

  • GENERIC_READ

  • GENERIC_WRITE (общая запись)

  • GENERIC_EXECUTE

  • GENERIC_ALL

Таким образом, система сопоставляет GENERIC_READ с набором прав, включающих FILE_READ_DATA и FILE_READ_ATTRIBUTES для файла, а также KEY_QUERY_VALUE и KEY_ENUMERATE_SUBKEYS для ключа. Дополнительные сведения о каждом универсальном праве доступа см. в ACCESS_MASK.