安全性描述元字串格式
安全性描述元字串格式 是用來儲存或傳輸安全性描述元中資訊的文字格式。 ConvertSecurityDescriptorToStringSecurityDescriptor 和 ConvertStringSecurityDescriptorToSecurityDescriptor 函式會使用此格式。
格式是一個 null終止的字串,其中包含令牌,以指出安全性描述元的四個主要元件:擁有者 (O:)、主要群組 (G:)、DACL (D:) 和 SACL (S:)。
注意
訪問控制條目 和條件訪問控制條目 (ACE) 有不同的格式。 如需 ACE,請參閱 ACE 字串。 如需條件式 ACE,請參閱 條件式 ACE 的安全性描述元定義語言。
O:owner_sid
G:group_sid
D:dacl_flags(string_ace1)(string_ace2)... (string_acen)
S:sacl_flags(string_ace1)(string_ace2)... (string_acen)
-
owner_sid
-
識別物件擁有者的 SID 字串。
-
group_sid
-
識別物件主要群組的 SID 字串。
-
dacl_flags
-
套用至 DACL 的安全性描述控制旗標。 如需這些控件旗標的描述,請參閱 SetSecurityDescriptorControl 函式。 dacl_flags字串可以是由下列字串零個或多個組合而成。
控制 Sddl.h 中的常數 意義 “P” SDDL_PROTECTED 已設定SE_DACL_PROTECTED旗標。 “AR” SDDL_AUTO_INHERIT_REQ 已設定SE_DACL_AUTO_INHERIT_REQ旗標。 “AI” SDDL_AUTO_INHERITED 已設定SE_DACL_AUTO_INHERITED旗標。 "無存取控制" SDDL_NULL_ACL ACL 為空。 Windows Server 2008、Windows Vista 和 Windows Server 2003: 無法使用。 -
sacl_flags
-
適用於 SACL 的安全性描述元控件旗標。 sacl_flags字串會使用與dacl_flags字串相同的控制位字串。
-
string_ace
-
字串,描述安全性描述項 DACL 或 SACL 中的 ACE。 如需 ACE 字串格式的描述,請參閱 ACE 字串。 每個 ACE 字串都會以括弧 (()) 括住。
不需要的元件可以從安全性描述元字串中省略。 例如,如果未在輸入安全性描述元中設定SE_DACL_PRESENT旗標,ConvertSecurityDescriptorToStringSecurityDescriptor 不包含輸出字符串中的 D: 元件。 您也可以使用 SECURITY_INFORMATION 位旗標來指出要包含在安全性描述元字串中的元件。
安全性描述元字串格式不支援 NULL ACL。
若要表示空的 ACL,安全性描述元字串包含 D: 或 S: 令牌,沒有其他字串資訊。
安全描述字串以不同方式儲存 SECURITY DESCRIPTOR CONTROL 位元。 當字串中出現 D: 或 S: 標記時,表示 SE_DACL_PRESENT 或 SE_SACL_PRESENT 位存在。 套用至 DACL 或 SACL 的其他位元會儲存在 dacl_flags 和 sacl_flags 中。 SE_OWNER_DEFAULTED、SE_GROUP_DEFAULTED、SE_DACL_DEFAULTED和SE_SACL_DEFAULTED位不會儲存在安全性描述元字串中。 SE_SELF_RELATIVE位不會儲存在字串中,但 ConvertStringSecurityDescriptorToSecurityDescriptor 一律會在輸出安全性描述元中設定此位。
下列範例顯示安全性描述元字串,以及相關聯安全性描述元中的資訊。
字串 1:
"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"
安全性描述元 1:
Revision: 0x00000001
Control: 0x0004
SE_DACL_PRESENT
Owner: (S-1-5-32-548)
PrimaryGroup: (S-1-5-21-397955417-626881126-188441444-512)
DACL
Revision: 0x02
Size: 0x001c
AceCount: 0x0001
Ace[00]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0x00
Access Mask: 0x100e003f
READ_CONTROL
WRITE_DAC
WRITE_OWNER
GENERIC_ALL
Others(0x0000003f)
Ace Sid : (S-1-0-0)
SACL
Not present
字串 2:
"O:DAG:DAD:(A;;RPWPCCDCLCRCWOWDSDSW;;;SY)
(A;;RPWPCCDCLCRCWOWDSDSW;;;DA)
(OA;;CCDC;bf967aba-0de6-11d0-a285-00aa003049e2;;AO)
(OA;;CCDC;bf967a9c-0de6-11d0-a285-00aa003049e2;;AO)
(OA;;CCDC;6da8a4ff-0e52-11d0-a286-00aa003049e2;;AO)
(OA;;CCDC;bf967aa8-0de6-11d0-a285-00aa003049e2;;PO)
(A;;RPLCRC;;;AU)S:(AU;SAFA;WDWOSDWPCCDCSW;;;WD)"
安全性描述元 2:
Revision: 0x00000001
Control: 0x0014
SE_DACL_PRESENT
SE_SACL_PRESENT
Owner: (S-1-5-21-397955417-626881126-188441444-512)
PrimaryGroup: (S-1-5-21-397955417-626881126-188441444-512)
DACL
Revision: 0x04
Size: 0x0104
AceCount: 0x0007
Ace[00]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0x00
Access Mask: 0x000f003f
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
Others(0x0000003f)
Ace Sid: (S-1-5-18)
Ace[01]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0024
InheritFlags: 0x00
Access Mask: 0x000f003f
DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
Others(0x0000003f)
Ace Sid: (S-1-5-21-397955417-626881126-188441444-512)
Ace[02]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_USER
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-548)
Ace[03]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_GROUP
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-548)
Ace[04]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_LOCALGROUP
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-548)
Ace[05]
AceType: 0x05 (ACCESS_ALLOWED_OBJECT_ACE_TYPE)
AceSize: 0x002c
InheritFlags: 0x00
Access Mask: 0x00000003
Others(0x00000003)
Flags: 0x00000001, ACE_OBJECT_TYPE_PRESENT
ObjectType: GUID_C_PRINT_QUEUE
InhObjectType: GUID ptr is NULL
Ace Sid: (S-1-5-32-550)
Ace[06]
AceType: 0x00 (ACCESS_ALLOWED_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0x00
Access Mask: 0x00020014
READ_CONTROL
Others(0x00000014)
Ace Sid: (S-1-5-11)
SACL
Revision: 0x02
Size: 0x001c
AceCount: 0x0001
Ace[00]
AceType: 0x02 (SYSTEM_AUDIT_ACE_TYPE)
AceSize: 0x0014
InheritFlags: 0xc0
SUCCESSFUL_ACCESS_ACE_FLAG
FAILED_ACCESS_ACE_FLAG
Access Mask: 0x000d002b
DELETE
WRITE_DAC
WRITE_OWNER
Others(0x0000002b)
Ace Sid: (S-1-1-0)
相關主題