EXPLICIT_ACCESS

EXPLICIT_ACCESS

EXPLICIT_ACCESS結構爲一個指定的受託人定義訪問控制信息. 訪問控制函數,例如SetEntriesInAclGetExplicitEntriesFromAcl, 使用這種結構來描述在一個訪問控制列表(ACL)的訪問控制條目(ACE)的信息。

typedef struct _EXPLICIT_ACCESS {
 
DWORD grfAccessPermissions;
 
ACCESS_MODE grfAccessMode;
 
DWORD grfInheritance;
 
TRUSTEE Trustee;

} EXPLICIT_ACCESS,
*PEXPLICIT_ACCESS;

成員

grfAccessPermissions

一組使ACCESS_MASK格式指定ACE允許,否認或審查受託人權限的位標誌。使用EXPLICIT_ACCESS結構的函數將不會轉換、解釋或驗證這個掩碼的位。

grfAccessMode

一個來自ACCESS_MODE的枚舉變量。

對於一個自主訪問控制列表(DACL)而言,這個標誌用於指定ACL是否允許或者拒絕指定訪問權限。

對於一個系統訪問控制列表(SACL)而言,這個標誌用於指定ACL是否爲成功(或失敗,或成功和失敗)的嘗試使用指定的訪問權限生成審計信息。

當修改一個現有的ACL,你可以通過指定REVOKE_ACCESS標誌爲特定的受託人刪除任何現有的ACE

grfInheritance

一組用於決定其他容器或者對象是否能從ACL連接的主對象繼承ACE的位標誌。這個成員的值對應ACE_HEADER結構AceFlags成員繼承部分(低字節)。這個變量可以標誌爲NO_INHERITANCE,用以指定ACE不能繼承,也可以是以下值的組合。

Value

Meaning

CONTAINER_INHERIT_ACE

主對象包含的其他容器可以繼承ACE

INHERIT_ONLY_ACE

ACE不適用於ACL連接的主對象,但主對象包含的對象可以繼承ACE。

NO_PROPAGATE_INHERIT_ACE

OBJECT_INHERIT_ACE和CONTAINER_INHERIT_ACE 標誌不會傳播到繼承的ACE。

OBJECT_INHERIT_ACE

主對象包含的非容器對象可以繼承ACE

SUB_CONTAINERS_AND_OBJECTS_INHERIT

主對象包含的容器和非容器對象都能繼承ACE。此標誌對應的是CONTAINER_INHERIT_ACE和OBJECT_INHERIT_ACE的組合。

SUB_CONTAINERS_ONLY_INHERIT

主對象包含的其他容器可以繼承ACE。此標誌對應於CONTAINER_INHERIT_ACE

SUB_OBJECTS_ONLY_INHERIT

主對象包含的非容器對象可以繼承ACE。此標誌對應於OBJECT_INHERIT_ACE

Trustee

一個用以指定ACE適用的用戶,組或程序(例如一個Windows服務)的TRUSTEE結構。

Requirements

Client

Requires Windows XP, Windows 2000 Professional, or Windows NT Workstation 4.0.

Server

Requires Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.

Header

Declared in AccCtrl.h.

Unicode

Implemented as EXPLICIT_ACCESS_W (Unicode) and EXPLICIT_ACCESS_A (ANSI).

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章