Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Security Descriptor String Format é um formato de texto para armazenar ou transportar informações em um descritor de segurança. As funções ConvertSecurityDescriptorToStringSecurityDescriptor e ConvertStringSecurityDescriptorToSecurityDescriptor usam esse formato.
O formato é uma cadeia de caracteres terminada em nulocom tokens para indicar cada um dos quatro componentes principais de um descritor de segurança: proprietário (O:), grupo primário (G:), DACL (D:) e SACL (S:).
Observação
As entradas de controle de acesso (ACEs) e as ACEs condicionais têm formatos diferentes. Para os ACEs, consulte ACE Strings. Para ACEs condicionais, consulte Linguagem de Definição do Descritor de Segurança para ACEs Condicionais.
Componentes do formato de cadeia de caracteres do descritor de segurança
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
-
Uma cadeia de caracteres SID que identifica o proprietário do objeto.
-
group_sid
-
Uma cadeia de caracteres SID que identifica o grupo primário do objeto.
-
dacl_flags
-
Sinalizadores de controle do descritor de segurança que se aplicam à DACL. Para obter uma descrição desses sinalizadores de controle, consulte a função SetSecurityDescriptorControl. A cadeia de dacl_flags pode resultar de uma concatenação de zero ou mais das seguintes cadeias.
Controlo Constante em Sddl.h Significado "P" SDDL_PROTEGIDO O indicador SE_DACL_PROTECTED está definido. "RA" SDDL_AUTO_INHERIT_REQ O sinalizador SE_DACL_AUTO_INHERIT_REQ está definido. "IA" SDDL_AUTO_INHERITED O sinalizador SE_DACL_AUTO_INHERITED está definido. SEM_CONTROLO_DE_ACESSO SDDL_NULL_ACL O LCA é nulo. Windows Server 2008, Windows Vista e Windows Server 2003: Não disponível. -
sacl_flags
-
Sinalizadores de controle do descritor de segurança que se aplicam à SACL. A cadeia de caracteres sacl_flags usa as mesmas cadeias de controlo de bits que a cadeia de caracteres dacl_flags.
-
string_ace
-
Uma cadeia de caracteres que descreve uma ACE na DACL ou SACL do descritor de segurança. Para obter uma descrição do formato de string ACE, consulte strings ACE. Cada cadeia de caracteres ACE é colocada entre parênteses (()).
Os componentes desnecessários podem ser omitidos da cadeia de caracteres do descritor de segurança. Por exemplo, se o sinalizador SE_DACL_PRESENT não estiver definido no descritor de segurança de entrada, ConvertSecurityDescriptorToStringSecurityDescriptor não incluirá um componente D: na cadeia de caracteres de saída. Você também pode usar os sinalizadores de bits SECURITY_INFORMATION para indicar os componentes a serem incluídos em uma string de descritor de segurança.
O formato de cadeia de caracteres do descritor de segurança não suporta NULL ACLs.
Para indicar uma ACL vazia, a string do descritor de segurança inclui o token D: ou S: sem informações adicionais.
A cadeia de caracteres do descritor de segurança armazena os bits SECURITY DESCRIPTOR CONTROL de maneiras diferentes. Os bits SE_DACL_PRESENT ou SE_SACL_PRESENT são indicados pela presença do token D: ou S: na cadeia de caracteres. Outros bits que se aplicam à DACL ou SACL são armazenados em dacl_flags e sacl_flags. Os bits SE_OWNER_DEFAULTED, SE_GROUP_DEFAULTED, SE_DACL_DEFAULTED e SE_SACL_DEFAULTED não são armazenados em uma cadeia de caracteres do descritor de segurança. O bit de SE_SELF_RELATIVE não é armazenado na cadeia de caracteres, mas ConvertStringSecurityDescriptorToSecurityDescriptor sempre define esse bit no descritor de segurança de saída.
Exemplo de cadeias de caracteres do descritor de segurança
Os exemplos a seguir mostram cadeias de caracteres do descritor de segurança e as informações nos descritores de segurança associados.
String 1:
"O:AOG:DAD:(A;;RPWPCCDCLCSWRCWDWOGA;;;S-1-0-0)"
Descritor de Segurança 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
String 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)"
Descritor de Segurança 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)
Conteúdo relacionado
linguagem de definição do descritor de segurança para ACEs condicionais