Безопасность сопоставления файлов и права доступа

Модель безопасности Windows позволяет управлять доступом к объектам сопоставления файлов. Дополнительные сведения см. в разделе Модель управления доступом.

Дескриптор безопасности для объекта сопоставления файлов можно указать при вызове функции CreateFileMapping. Если указать значение NULL, объект получает дескриптор безопасности по умолчанию. Списки управления доступом в дескрипторе безопасности по умолчанию для объекта сопоставления файлов поступают из основного маркера или маркера олицетворения создателя.

Чтобы получить дескриптор безопасности объекта сопоставления файлов, вызовите функцию GetNamedSecurityInfo или GetSecurityInfo . Чтобы задать дескриптор безопасности объекта сопоставления файлов, вызовите функцию SetNamedSecurityInfo или SetSecurityInfo .

Допустимые права доступа для объектов сопоставления файлов включают в себя разрешения DELETE, READ_CONTROL, WRITE_DAC и WRITE_OWNERстандартные права доступа. Объекты сопоставления файлов не поддерживают стандартное право доступа SYNCHRONIZE . В следующей таблице перечислены права доступа, относящиеся к объектам сопоставления файлов.

Право доступа Значение
FILE_MAP_ALL_ACCESS Включает все права доступа к объекту сопоставления файлов, за исключением FILE_MAP_EXECUTE. Функции MapViewOfFile и MapViewOfFileEx обрабатывают это так же, как и FILE_MAP_WRITE.
FILE_MAP_EXECUTE Разрешает сопоставление исполняемых представлений объекта сопоставления файлов. Объект должен быть создан с защитой страницы, которая разрешает доступ на выполнение, например PAGE_EXECUTE_READ, PAGE_EXECUTE_WRITECOPY или защиту PAGE_EXECUTE_READWRITE .
FILE_MAP_READ Разрешает сопоставление представлений только для чтения или копирования при записи объекта сопоставления файлов.
FILE_MAP_WRITE Разрешает сопоставление представлений только для чтения, копирования при записи или чтения и записи объекта сопоставления файлов. Объект должен быть создан с защитой страницы, которая разрешает доступ на запись, например PAGE_READWRITE или защиту PAGE_EXECUTE_READWRITE .

Для сопоставления представления копирования при записи объекта сопоставления файлов требуется тот же доступ, что и для сопоставления представления только для чтения. Флаг FILE_MAP_COPY не является правом доступа и не должен указываться как часть DACL в дескрипторе безопасности. Это значение можно использовать только с функциями, которые сопоставляют представление объекта сопоставления файлов, например с функциями MapViewOfFile и MapViewOfFileEx , или с функцией OpenFileMapping , которая обрабатывает FILE_MAP_COPY так же, как и FILE_MAP_READ.

Вы можете запросить право доступа ACCESS_SYSTEM_SECURITY к объекту сопоставления файлов, если хотите прочитать или записать saCL объекта. Дополнительные сведения см. в разделах Списки управления доступом (ACL) и Права доступа saCL.