檔案對應安全性和訪問許可權
Windows 安全性模型可讓您控制檔案對應物件的存取權。 如需詳細資訊,請參閱 訪問控制模型。
呼叫 CreateFileMapping 函式時,您可以指定檔案對應物件的安全性描述項。 如果您指定 NULL,物件會取得預設的安全性描述元。 檔案對應對象的預設安全性描述元中的 ACL 來自建立者的主要或模擬令牌。
若要擷取檔案對應物件的安全性描述元,請呼叫 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。
如果您想要讀取或寫入物件的 SACL,您可以要求 ACCESS_SYSTEM_SECURITY 檔案對應物件的存取權。 如需詳細資訊,請參閱 訪問控制清單 (ACL) 和 SACL 訪問許可權。