Aracılığıyla paylaş


Güvenlik Tanımlayıcısı Dize Biçimi

Güvenlik Tanımlayıcısı Dize Biçimi, bilgileri bir güvenlik tanımlayıcısında depolamak veya taşımak için kullanılan bir metin biçimidir. ConvertSecurityDescriptorToStringSecurityDescriptor ve ConvertStringSecurityDescriptorToSecurityDescriptor işlevleri bu biçimi kullanır.

Biçim, bir güvenlik tanımlayıcısının dört ana bileşeninin her birini belirten belirteçlerle nullsonlandırılan bir dizedir: sahip (O:), birincil grup (G:), DACL (D:) ve SACL (S:).

Not

Erişim denetimi girdileri (ACL' ler) ve koşullu ACL'ler farklı biçimlere sahiptir. ACE'ler için bkz. ACE Dizeleri. Koşullu ACL'ler için bkz. Koşullu ACL'ler için Güvenlik Tanımlayıcısı Tanım Dili.

Güvenlik tanımlayıcısı dize biçimi bileşenleri

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

Nesnenin sahibini tanımlayan bir SID dizesi.

group_sid

Nesnenin birincil grubunu tanımlayan bir SID dizesi.

dacl_flags

DACL için geçerli olan güvenlik tanımlayıcısı denetim bayrakları. Bu denetim bayraklarının açıklaması için SetSecurityDescriptorControlişlevinebakın. dacl_flags dizesi, aşağıdaki dizelerden sıfır veya daha fazlasının birleştirilmiş hali olabilir.

Kontrol Sddl.h sabiti Anlam
"P" SDDL_KORUNMUŞ SE_DACL_PROTECTED bayrağı ayarlandı.
artırılmış gerçeklik SDDL_AUTO_INHERIT_REQ SE_DACL_AUTO_INHERIT_REQ bayrağı ayarlanmış.
"AI" SDDL_AUTO_INHERITED SE_DACL_AUTO_INHERITED bayrağı ayarlandı.
ERİŞİM KONTROLÜ YOK SDDL_NULL_ACL (Boş Erişim Kontrol Listesi) ACL boş. Windows Server 2008, Windows Vista ve Windows Server 2003: Kullanılamıyor.

sacl_flags

SACL için geçerli olan güvenlik tanımlayıcısı denetim bayrakları. sacl_flags dizesi, dacl_flags dizesiyle aynı denetim bit dizelerini kullanır.

string_ace

Güvenlik tanımlayıcısının DACL veya SACL'sindeki bir ACE'yi açıklayan dize. ACE dize biçiminin açıklaması için bkz. ACE dizeleri. Her bir ACE dizesi parantez içinde (()) yer alır.

Gereksiz bileşenler güvenlik tanımlayıcı dizesinden atlanabilir. Örneğin, SE_DACL_PRESENT bayrağı giriş güvenlik tanımlayıcısında ayarlanmadıysa, ConvertSecurityDescriptorToStringSecurityDescriptor çıkış dizesinde D: bileşeni içermez. Güvenlik tanımlayıcısı dizesine eklenecek bileşenleri belirtmek için SECURITY_INFORMATION bit bayraklarını da kullanabilirsiniz.

Güvenlik tanımlayıcısı dize biçimi, NULL ACL'lerini desteklemez.

Boş bir ACL'yi belirtmek için, güvenlik tanımlayıcısı dizesi ek dize bilgisi içermeyen D: veya S: belirtecini içerir.

Güvenlik tanımlayıcısı dizesi, SECURITY DESCRIPTOR CONTROL bitleri farklı şekillerde depolar. SE_DACL_PRESENT veya SE_SACL_PRESENT bitleri, dizedeki D: veya S: belirtecinin varlığıyla gösterilir. DACL veya SACL için geçerli olan diğer bitler, dacl_flags ve sacl_flags içinde depolanır. SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_DEFAULTED ve SE_SACL_DEFAULTED bitleri bir güvenlik tanımlayıcı dizesinde depolanmaz. SE_SELF_RELATIVE bit dizede depolanmaz, ancak ConvertStringSecurityDescriptorToSecurityDescriptor bu biti her zaman çıkış güvenlik tanımlayıcısında ayarlar.

Örnek güvenlik tanımlayıcısı dizeleri

Aşağıdaki örneklerde güvenlik tanımlayıcı dizeleri ve ilişkili güvenlik tanımlayıcılarındaki bilgiler gösterilmektedir.

Satır 1

"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"

Güvenlik Tanımlayıcısı 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

Dize 2:

"O:DAG:DAD:(A;;RPWPCCDCLCRCWOWDSDSW;;;SY)
(A;;RPWPCCDCLCRCWOWDSDSW;;;DA)
(OA;;CCDC;aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb;;AO)
(OA;;CCDC;bbbbbbbb-1111-2222-3333-cccccccccccc;;AO)
(OA;;CCDC;cccccccc-2222-3333-4444-dddddddddddd;;AO)
(OA;;CCDC;dddddddd-3333-4444-5555-eeeeeeeeeeee;;PO)
(A;;RPLCRC;;;AU)S:(AU;SAFA;WDWOSDWPCCDCSW;;;WD)"

Güvenlik Tanımlayıcısı 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 Dizeleri

Koşullu ACL'ler için Güvenlik Tanımlayıcısı Tanım Dili