檔案對應安全性和存取權限

Windows 安全性模型可讓您控制檔案對應物件的存取。 如需詳細資訊,請參閱 存取控制模型

呼叫CreateFileMapping函式時,您可以指定檔案對應物件的安全性描述元。 如果您指定 Null,物件會取得預設的安全性描述元。 檔案對應物件的預設安全性描述元中的 ACL 來自建立者的主要或模擬權杖。

若要擷取檔案對應物件的安全性描述元,請呼叫 GetNamedSecurityInfoGetSecurityInfo 函式。 若要設定檔案對應物件的安全性描述元,請呼叫 SetNamedSecurityInfoSetSecurityInfo 函式。

檔案對應物件的有效存取權限包括 DELETEREAD_CONTROLWRITE_DAC,以及 標準存取權限WRITE_OWNER。 檔案對應物件不支援 SYNCHRONIZE 標準存取權。 下表列出檔案對應物件特有的存取權限。

存取權限 意義
FILE_MAP_ALL_ACCESS 包含檔案對應物件的所有存取權限,但 FILE_MAP_EXECUTE除外。 MapViewOfFileMapViewOfFileEx函式會將這與指定FILE_MAP_WRITE相同。
FILE_MAP_EXECUTE 允許對應檔案對應物件的可執行檔檢視。 必須使用允許執行存取的頁面保護來建立 物件,例如 PAGE_EXECUTE_READPAGE_EXECUTE_WRITECOPYPAGE_EXECUTE_READWRITE 保護。
FILE_MAP_READ 允許對應檔案對應物件的唯讀或複製寫入檢視。
FILE_MAP_WRITE 允許對應檔案對應物件的唯讀、寫入複製或讀取/寫入檢視。 物件必須使用允許寫入存取的頁面保護來建立,例如 PAGE_READWRITEPAGE_EXECUTE_READWRITE 保護。

對應檔案對應物件的複製寫入檢視需要與對應唯讀檢視相同的存取權。 FILE_MAP_COPY旗標不是存取權限,不應在安全性描述元中指定為 DACL 的一部分。 這個值只能與對應檔案對應物件的檢視函式搭配使用,例如 MapViewOfFileMapViewOfFileEx 函式,或是使用 OpenFileMapping 函式來處理 FILE_MAP_COPY 處理 FILE_MAP_READ

如果您想要讀取或寫入物件的 SACL,您可以要求 ACCESS_SYSTEM_SECURITY 檔案對應物件的存取權。 如需詳細資訊,請參閱 存取控制清單 (ACL) SACL 存取權限