Formato stringa descrittore di sicurezza
Il formato stringa descrittore di sicurezza è un formato di testo per l'archiviazione o il trasporto di informazioni in un descrittore di sicurezza. Le funzioni ConvertSecurityDescriptorToStringSecurityDescriptor e ConvertStringSecurityDescriptorToSecurityDescriptor usano questo formato.
Il formato è una stringa con terminazione null con token per indicare ognuno dei quattro componenti principali di un descrittore di sicurezza: proprietario (O:), gruppo primario (G:), DACL (D:) e SACL (S:).
Nota
Le voci di controllo di accesso e gli ACL condizionali hanno formati diversi. Per gli ACL, vedere Stringhe ACE. Per gli ACL condizionali, vedere Linguaggio di definizione del descrittore di sicurezza per gli ACL condizionali.
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
-
Stringa SID che identifica il proprietario dell'oggetto.
-
group_sid
-
Stringa SID che identifica il gruppo primario dell'oggetto.
-
dacl_flags
-
Flag di controllo del descrittore di sicurezza che si applicano all'elenco di controllo DACL. Per una descrizione di questi flag di controllo, vedere la funzione SetSecurityDescriptorControl . La stringa dacl_flags può essere una concatenazione di zero o più delle stringhe seguenti.
Control Costante in Sddl.h Significato "P" SDDL_PROTECTED Il flag di SE_DACL_PROTECTED è impostato. "AR" SDDL_AUTO_INHERIT_REQ Il flag SE_DACL_AUTO_INHERIT_REQ è impostato. "intelligenza artificiale" SDDL_AUTO_INHERITED Il flag SE_DACL_AUTO_INHERITED è impostato. "NO_ACCESS_CONTROL" SDDL_NULL_ACL L'ACL è Null. Windows Server 2008, Windows Vista e Windows Server 2003: Non disponibile. -
sacl_flags
-
Flag di controllo del descrittore di sicurezza che si applicano a SACL. La stringa sacl_flags usa le stesse stringhe di bit di controllo della stringa dacl_flags.
-
string_ace
-
Stringa che descrive un ACE nel descrittore di sicurezza DACL o SACL. Per una descrizione del formato stringa ACE, vedere Stringhe ACE. Ogni stringa ACE è racchiusa tra parentesi (()).
I componenti non necessari possono essere omessi dalla stringa del descrittore di sicurezza. Ad esempio, se il flag SE_DACL_PRESENT non è impostato nel descrittore di sicurezza di input, ConvertSecurityDescriptorToStringSecurityDescriptor non include un componente D: nella stringa di output. È anche possibile usare i flag di bit SECURITY_INFORMATION per indicare i componenti da includere in una stringa del descrittore di sicurezza.
Il formato stringa del descrittore di sicurezza non supporta gli ACL NULL .
Per indicare un ACL vuoto, la stringa del descrittore di sicurezza include il token D: o S: senza informazioni aggiuntive sulla stringa.
La stringa del descrittore di sicurezza archivia i bit DI CONTROLLO DEL DESCRITTORE DI SICUREZZA in modi diversi. I bit di SE_DACL_PRESENT o SE_SACL_PRESENT sono indicati dalla presenza del token D: o S: nella stringa. Altri bit che si applicano all'elenco dati o SACL vengono archiviati in dacl_flags e sacl_flags. I bit di SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_DEFAULTED e SE_SACL_DEFAULTED non vengono archiviati in una stringa del descrittore di sicurezza. Il bit di SE_SELF_RELATIVE non viene archiviato nella stringa, ma ConvertStringSecurityDescriptorToSecurityDescriptor imposta sempre questo bit nel descrittore di sicurezza di output.
Negli esempi seguenti vengono illustrate le stringhe del descrittore di sicurezza e le informazioni nei descrittori di sicurezza associati.
Stringa 1:
"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"
Descrittore di sicurezza 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
Stringa 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)"
Descrittore di sicurezza 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)
Argomenti correlati