Estrutura de ACL (winnt.h)

A estrutura acl é o cabeçalho de uma ACL ( lista de controle de acesso ). Uma ACL completa consiste em uma estrutura de ACL seguida por uma lista ordenada de zero ou mais ACEs ( entradas de controle de acesso ).

Sintaxe

typedef struct _ACL {
  BYTE AclRevision;
  BYTE Sbz1;
  WORD AclSize;
  WORD AceCount;
  WORD Sbz2;
} ACL;

Membros

AclRevision

Especifica o nível de revisão da ACL. Esse valor deve ser ACL_REVISION, a menos que a ACL contenha um ACE específico do objeto, nesse caso, esse valor deve ser ACL_REVISION_DS. Todos os ACEs em uma ACL devem estar no mesmo nível de revisão.

Sbz1

Especifica um byte zero de preenchimento que alinha o membro AclRevision em um limite de 16 bits.

AclSize

Especifica o tamanho, em bytes, da ACL. Esse valor inclui a estrutura de ACL , todos os ACEs e a memória potencial não utilizado.

AceCount

Especifica o número de ACEs armazenados na ACL.

Sbz2

Especifica dois bytes zero de preenchimento que alinham a estrutura de ACL em um limite de 32 bits.

Comentários

Uma ACL inclui uma lista sequencial de zero ou mais ACEs. Os ACEs individuais em uma ACL são numerados de 0 a n, em que n+1 é o número de ACEs na ACL. Ao editar uma ACL, um aplicativo se refere a um ACE dentro da ACL pelo índice do ACE.

Há dois tipos de ACL: discricionário e sistema.

Uma DACL ( lista de controle de acesso discricionário ) é controlada pelo proprietário de um objeto ou qualquer pessoa concedida WRITE_DAC acesso ao objeto. Ela especifica o acesso que determinados usuários e grupos podem ter a um objeto. Por exemplo, o proprietário de um arquivo pode usar uma DACL para controlar quais usuários e grupos podem e não podem ter acesso ao arquivo.

Um objeto também pode ter informações de segurança no nível do sistema associadas a ele, na forma de uma SACL ( lista de controle de acesso do sistema ) controlada por um administrador do sistema. Uma SACL permite que o administrador do sistema audite todas as tentativas de obter acesso a um objeto.

Para obter uma lista de estruturas ACE definidas no momento, consulte ACE.

No momento, não há suporte para uma quarta estrutura ace, SYSTEM_ALARM_ACE.

A estrutura de ACL deve ser tratada como se fosse opaca e os aplicativos não tentem trabalhar diretamente com seus membros. Para garantir que as ACLs estejam semanticamente corretas, os aplicativos podem usar as funções listadas na seção Consulte Também para criar e manipular ACLs.

Cada acl e estrutura ACE começa em um limite DWORD .

O tamanho máximo de uma ACL, incluindo seus ACEs, é de 64 KB.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winnt.h (inclua Windows.h)

Confira também

AddAce

DeleteAce

GetAclInformation

GetSecurityDescriptorDacl

GetSecurityDescriptorSacl

InitializeAcl

IsValidAcl

SetAclInformation

SetSecurityDescriptorDacl

SetSecurityDescriptorSacl