安全性描述元字串格式

安全性描述元字串格式是文字格式,用於在安全性描述元中儲存或傳輸資訊。 ConvertSecurityDescriptorToStringSecurityDescriptorConvertStringSecurityDescriptorToSecurityDescriptor函式會使用此格式。

此格式是 以 Null結尾的字串,其中包含標記來指出安全性描述元的四個主要元件之每一個:擁有者 (O:) 、主要群組 (G:) 、DACL (D:) ,以及 SACL (S:) 。

注意

存取控制專案 (ACE) 和條件式 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旗標。
「NO_ACCESS_CONTROL」 SDDL_Null_ACL ACL 為 Null。 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 位。 SE_DACL_PRESENT或SE_SACL_PRESENT位會以字串中的 D: 或 S: 權杖存在來表示。 套用至 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)

ACE 字串

條件式 ACE 的安全性描述元定義語言