桌面安全性與訪問許可權
安全性可讓您控制桌面物件的存取。 如需安全性的詳細資訊,請參閱 Access-Control 模型。
當您呼叫 CreateDesktop 或 CreateDesktopEx 函式時,您可以指定桌面物件的 安全性描述元。 如果您指定 NULL,桌面會取得預設的安全性描述元。 桌面的預設安全性描述元中的 ACL 來自其父視窗月臺。
若要取得或設定視窗月台物件的安全性描述元,請呼叫 GetSecurityInfo,並 SetSecurityInfo 函式。
當您呼叫 OpenDesktop 或 OpenInputDesktop 函式時,系統會根據對象的安全性描述元檢查所要求的訪問許可權。
傳統型物件的有效訪問許可權包括 標準訪問許可權 和某些物件特定的訪問許可權。 下表列出所有物件所使用的標準訪問許可權。
價值 | 意義 |
---|---|
DELETE (0x00010000L) | 需要刪除物件。 |
READ_CONTROL (0x00020000L) | 需要讀取 物件之安全描述元中的資訊,不包括 SACL 中的資訊。 若要讀取或寫入 SACL,您必須要求ACCESS_SYSTEM_SECURITY訪問許可權。 如需詳細資訊,請參閱 SACL 存取權。 |
SYNCHRONIZE (0x001000000L) | 桌面物件不支援。 |
WRITE_DAC (0x00040000L) | 在對象的安全性描述元中修改 DACL 的必要專案。 |
WRITE_OWNER (0x00080000L) | 需要變更 物件之安全性描述元中的擁有者。 |
下表列出物件特定的訪問許可權。
存取權 | 描述 |
---|---|
DESKTOP_CREATEMENU (0x0004L) | 需要在桌面上建立功能表。 |
DESKTOP_CREATEWINDOW (0x0002L) | 在桌面上建立視窗的必要專案。 |
DESKTOP_ENUMERATE (0x0040L) | 必須列舉桌面。 |
DESKTOP_HOOKCONTROL (0x0008L) | 建立任何視窗勾點的必要專案。 |
DESKTOP_JOURNALPLAYBACK (0x0020L) | 需要在桌面上執行日誌播放。 |
DESKTOP_JOURNALRECORD (0x0010L) | 需要在桌面上執行日誌錄製。 |
DESKTOP_READOBJECTS (0x0001L) | 需要讀取桌面上的物件。 |
DESKTOP_SWITCHDESKTOP (0x0100L) | 需要使用 SwitchDesktop 函式來啟用桌面。 |
DESKTOP_WRITEOBJECTS (0x0080L) | 需要在桌面上寫入物件。 |
以下是使用者登入會話之互動式視窗站台中包含的傳統型物件 一般訪問許可權。
存取權 | 描述 |
---|---|
GENERIC_READ |
DESKTOP_READOBJECTS STANDARD_RIGHTS_READ |
GENERIC_WRITE |
DESKTOP_CREATEWINDOW DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_WRITE |
GENERIC_EXECUTE |
STANDARD_RIGHTS_EXECUTE |
GENERIC_ALL |
DESKTOP_CREATEWINDOW DESKTOP_ENUMERATE DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_READOBJECTS DESKTOP_SWITCHDESKTOP DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_REQUIRED |
如果您想要讀取或寫入物件的 SACL,您可以要求桌面物件的ACCESS_SYSTEM_SECURITY訪問許可權。 如需詳細資訊,請參閱 Access-Control 清單 (ACL) 和 SACL 存取權。