DACL

DACL

DACL(Discretionary Access Control List) This is a list that controls who can do what with your server objects. An administrator can use DCOMCNFG to configure the DACL. 有兩種類型的ACL:自由決定的(DACL)和系統的(SACL)。

概述

DACL(Discretionary Access Control List)

This is a list that controls who can do what with your server objects. An administrator can use DCOMCNFG to configure the DACL.

有兩種類型的ACL:自由決定的(DACL)和系統的(SACL)。,。

Discretionary access control list --- 自主訪問控制列表

自主訪問控制列表(DACL)是一個最普遍類型的訪問控制列表(ACL),其通常被用於控制到計算機和網路資源的接入。

Windows中 DACL

DACL 的結構

DACL 由ACL基本信息加上 0條或者多條 ACE(Acess Control Entry) 組成

ACL 的基本信息如下:

typedef struct _ACL {

UCHAR AclRevision;

UCHAR Sbz1;

USHORT AclSize;

USHORT AceCount;

USHORT Sbz2;

} ACL;

typedef ACL *PACL;

自動名 解釋
AclRevision ACL 的版本號,當前為 5
AclSize 整個ACL數據長度,包括 ACL頭信息,以及所有ACE,以及某些空閒數據
AceCount ACE 的條目數

DACL數據中,緊接著在ACL hear 後面的,將是一條一條的 ACE

任何一種ACE 都有一個通用的格式 ACE HEADER + ACE MASK + ACE SID

typedef struct _ACE_HEADER {

UCHAR AceType;

UCHAR AceFlags;

USHORT AceSize;

} ACE_HEADER;

AceType的種類數量表

AclRevision AceType的種類數量
V2 4
V3 5
V4 9
V5 17

第2版支持的4種Ace格式

Acl Revision =2 的時候 Ace當前常用的是ACE 是4種

ACCESS_ALLOWED

ACCESS_DENIED

SYSTEM_AUDIT

SYSTEM_ALARM

對於AceType的每種取值,Ace需要不同解釋

以上4種AceType對應的結構分別如下

typedef struct _ACCESS_ALLOWED_ACE {

ACE_HEADER Header;

ACCESS_MASK Mask;

ULONG SidStart;

} ACCESS_ALLOWED_ACE;

typedef struct _ACCESS_DENIED_ACE {

ACE_HEADER Header;

ACCESS_MASK Mask;

ULONG SidStart;

} ACCESS_DENIED_ACE;

typedef struct _SYSTEM_AUDIT_ACE {

ACE_HEADER Header;

ACCESS_MASK Mask;

ULONG SidStart;

} SYSTEM_AUDIT_ACE;

typedef struct _SYSTEM_ALARM_ACE {

ACE_HEADER Header;

ACCESS_MASK Mask;

ULONG SidStart;

} SYSTEM_ALARM_ACE;

相關詞條

相關搜尋

熱門詞條

聯絡我們