COM 存取控制 清單
Windows Server XP Service Pack 2 (SP 2) 和 Windows Server 2003 Service Pack 1 (SP 1) 引進分散式元件物件模型 (DCOM) 的安全性增強功能。 其中一項增強功能是用於訪問控制清單 (ACL) 的特定訪問許可權。 存取權限如下:
COM_RIGHTS_EXECUTE 1
COM_RIGHTS_EXECUTE_LOCAL 2
COM_RIGHTS_EXECUTE_REMOTE 4
COM_RIGHTS_ACTIVATE_LOCAL 8
COM_RIGHTS_ACTIVATE_REMOTE 16
為了提供回溯相容性,ACL 可能存在於 Windows XP SP 2 和 Windows Server 2003 SP 1 之前所使用的格式,它只使用存取權COM_RIGHTS_EXECUTE,或者它可能以 Windows XP SP 2 和 Windows Server 2003 SP 1 中使用的新格式存在,其使用COM_RIGHTS_EXECUTE搭配COM_RIGHTS_EXECUTE_LOCAL的組合, COM_RIGHTS_EXECUTE_REMOTE、COM_RIGHTS_ACTIVATE_LOCAL和COM_RIGHTS_ACTIVATE_REMOTE。
注意
COM_RIGHTS_EXECUTE必須一律存在;缺少此許可權會產生無效的安全性描述元。
您不得在單一 ACL 中混合舊格式和新格式;所有訪問控制專案(ACE)都必須只授與COM_RIGHTS_EXECUTE訪問許可權,或者它們都必須將COM_RIGHTS_EXECUTE與COM_RIGHTS_EXECUTE_LOCAL、COM_RIGHTS_EXECUTE_REMOTE、COM_RIGHTS_ACTIVATE_LOCAL和COM_RIGHTS_ACTIVATE_REMOTE的組合一起授與。
以下是格式不正確 ACL 的範例:
Revision 1
Sbz1 0
Control 0x8004
SE_DACL_PRESENT
SE_SELF_RELATIVE
Owner: S-1-5-21-1597522630-148096252-1166023319-500 (no name mapped)
Group: S-1-5-21-1597522630-148096252-1166023319-500 (no name mapped)
DACL:
AclRevision 2
Sbz1 0
AclSize 128
AceCount 4
Sbz2 0
Ace[0]
AceType 0: ACCESS_ALLOWED_ACE_TYPE
AceFlags 0
AceSize 36
AccessMask 0x1
S-1-5-21-1597522630-148096252-1166023319-500 (no name mapped)
Ace[1]
AceType 0: ACCESS_ALLOWED_ACE_TYPE
AceFlags 0
AceSize 20
AccessMask 0xb
S-1-5-18 (Well Known Group: NT AUTHORITY\SYSTEM)
Ace[2]
AceType 0: ACCESS_ALLOWED_ACE_TYPE
AceFlags 0
AceSize 20
AccessMask 0x9
S-1-5-11 (Well Known Group: NT AUTHORITY\Authenticated Users)
SACL:
(null)
請注意,第一個訪問控制專案 (ACE) 只會授與COM_RIGHTS_EXECUTE (0x1),而第二個 ACE 只會授與COM_RIGHTS_EXECUTE、COM_RIGHTS_EXECUTE_LOCAL和COM_RIGHTS_ACTIVATE_LOCAL (0xb),第三個授與COM_RIGHTS_EXECUTE和COM_RIGHTS_ACTIVATE_LOCAL (0x9)。
若要修正此問題,第一個 ACE 應該變更為將COM_RIGHTS_EXECUTE與另外四個訪問許可權之一結合,否則第二個和第三個 ACE 應該變更為只授與COM_RIGHTS_EXECUTE。
相關主題