Sicherheitsdeskriptor-Zeichenfolgenformat
Das Sicherheitsdeskriptor-Zeichenfolgenformat ist ein Textformat zum Speichern oder Transportieren von Informationen in einer Sicherheitsbeschreibung. Die Funktionen ConvertSecurityDescriptorToStringSecurityDescriptor und ConvertStringSecurityDescriptorToSecurityDescriptor verwenden dieses Format.
Das Format ist eine NULL-beendete Zeichenfolge mit Token, die jede der vier Standard Komponenten eines Sicherheitsdeskriptors angeben: Besitzer (O:), primäre Gruppe (G:), DACL (D:) und SACL (S:).
Hinweis
Zugriffssteuerungseinträge (Access Control Entries , ACEs) und bedingte ACEs weisen unterschiedliche Formate auf. Informationen zu ACEs finden Sie unter ACE-Zeichenfolgen. Informationen zu bedingten ACEs finden Sie unter Security Descriptor Definition Language for Conditional ACEs.
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
-
Eine SID-Zeichenfolge , die den Besitzer des Objekts identifiziert.
-
group_sid
-
Eine SID-Zeichenfolge, die die primäre Gruppe des Objekts identifiziert.
-
dacl_flags
-
Sicherheitsdeskriptorsteuerelementflags, die für die DACL gelten. Eine Beschreibung dieser Steuerelementflags finden Sie in der Funktion SetSecurityDescriptorControl . Die dacl_flags Zeichenfolge kann eine Verkettung von 0 oder mehr der folgenden Zeichenfolgen sein.
Control Konstante in Sddl.h Bedeutung "P" SDDL_PROTECTED Das SE_DACL_PROTECTED-Flag ist festgelegt. "AR" SDDL_AUTO_INHERIT_REQ Das SE_DACL_AUTO_INHERIT_REQ-Flag ist festgelegt. "KI" SDDL_AUTO_INHERITED Das flag SE_DACL_AUTO_INHERITED ist festgelegt. "NO_ACCESS_CONTROL" SDDL_NULL_ACL Die ACL ist NULL. Windows Server 2008, Windows Vista und Windows Server 2003: Nicht verfügbar. -
sacl_flags
-
Sicherheitsdeskriptorsteuerelementflags, die für die SACL gelten. Die sacl_flags Zeichenfolge verwendet dieselben Steuerelementbitzeichenfolgen wie die dacl_flags Zeichenfolge.
-
string_ace
-
Eine Zeichenfolge, die einen ACE in der DACL oder SACL des Sicherheitsdeskriptors beschreibt. Eine Beschreibung des ACE-Zeichenfolgenformats finden Sie unter ACE-Zeichenfolgen. Jede ACE-Zeichenfolge ist in Klammern (()) eingeschlossen.
Nicht benötigte Komponenten können aus der Sicherheitsdeskriptorzeichenfolge weggelassen werden. Wenn beispielsweise das SE_DACL_PRESENT-Flag im Eingabesicherheitsdeskriptor nicht festgelegt ist, enthält ConvertSecurityDescriptorToStringSecurityDescriptor keine D:-Komponente in der Ausgabezeichenfolge. Sie können auch die SECURITY_INFORMATION Bitflags verwenden, um die Komponenten anzugeben, die in eine Sicherheitsdeskriptorzeichenfolge eingeschlossen werden sollen.
Das Format der Sicherheitsdeskriptorzeichenfolge unterstützt keine NULL-ACLs .
Um eine leere ACL anzugeben, enthält die Sicherheitsdeskriptorzeichenfolge das Token D: oder S: ohne zusätzliche Zeichenfolgeninformationen.
Die Sicherheitsdeskriptorzeichenfolge speichert die SECURITY DESCRIPTOR CONTROL-Bits auf unterschiedliche Weise. Die SE_DACL_PRESENT oder SE_SACL_PRESENT Bits werden durch das Vorhandensein des D:- oder S:-Tokens in der Zeichenfolge angegeben. Andere Bits, die für die DACL oder SACL gelten, werden in dacl_flags und sacl_flags gespeichert. Die bits SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_DEFAULTED und SE_SACL_DEFAULTED werden nicht in einer Sicherheitsdeskriptorzeichenfolge gespeichert. Das SE_SELF_RELATIVE Bits wird nicht in der Zeichenfolge gespeichert, aber ConvertStringSecurityDescriptorToSecurityDescriptor legt dieses Bit immer im Ausgabesicherheitsdeskriptor fest.
Die folgenden Beispiele zeigen Sicherheitsdeskriptorzeichenfolgen und die Informationen in den zugehörigen Sicherheitsdeskriptoren.
Zeichenfolge 1:
"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"
Sicherheitsdeskriptor 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
Zeichenfolge 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)"
Sicherheitsdeskriptor 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)
Zugehörige Themen