SECURITY_DESCRIPTOR_CONTROL

SECURITY_DESCRIPTOR_CONTROL類型是一組位旗標,可限定SECURITY_DESCRIPTOR結構或其元件的意義。 每個安全性描述項都有一個 控制 成員,可儲存 SECURITY_DESCRIPTOR_CONTROL 位。

typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;

控制項值可以包含下列 SECURITY_DESCRIPTOR_CONTROL 位旗標的組合:

意義
SE_OWNER_DEFAULTED (0x0001) 預設機制,而不是安全性描述元的原始提供者,提供安全描述項的擁有者安全性識別碼 (SID) 。 若要設定此旗標,請使用 RtlSetOwnerSecurityDescriptor
SE_GROUP_DEFAULTED (0x0002) 預設機制,而不是安全性描述元的原始提供者,提供安全性描述項的群組 SID。
SE_DACL_PRESENT (0x0004) 表示具有 DACL 的安全性描述項。 如果未設定此旗標,或已設定此旗標且 DACL 為 Null,則安全性描述項允許所有人完整存取。 這個旗標用來保存呼叫端所指定的安全性資訊,直到安全性描述項與安全性實體物件相關聯為止。 一旦安全性描述項與安全性實體物件相關聯,SE_DACL_PRESENT旗標一律會在安全性描述元控制項中設定。 若要設定此旗標,請使用 RtlSetDaclSecurityDescriptor
SE_DACL_DEFAULTED (0x0008) 表示具有預設 DACL 的安全性描述項。 例如,如果物件的建立者未指定 DACL,該物件就會從建立者的存取權杖接收預設 DACL。 此旗標可能會影響系統在 ACE 繼承方面處理 DACL 的方式。 如果未設定SE_DACL_PRESENT旗標,系統會忽略此旗標。 這個旗標是用來判斷物件上最終 DACL 的計算方式,而且不會實際儲存在安全性實體物件的安全性描述元控制項中。 若要設定此旗標,請使用 RtlSetDaclSecurityDescriptor
SE_SACL_PRESENT (0x0010) 表示具有 SACL 的安全性描述項。
SE_SACL_DEFAULTED (0x0020) 提供 SACL 的預設機制,而不是安全性描述元的原始提供者。 此旗標可能會影響系統在 ACE 繼承方面處理 SACL 的方式。 如果未設定SE_SACL_PRESENT旗標,系統會忽略此旗標。
SE_DACL_UNTRUSTED (0x0040) 表示安全性描述項 DACL 指向的 ACL 是由不受信任的來源所提供。 如果已設定此旗標且遇到複合 ACE,系統會以已知有效的 SID 取代 ACE 中的伺服器 SID。
SE_SERVER_SECURITY (0x0080) 要求由安全性描述元保護之物件的提供者,其 ACL 應根據輸入 ACL 的伺服器 ACL,不論其來源 (明確或預設) 。 做法是將所有 GRANT ACE 取代為授與目前伺服器的複合 ACE。 只有當主旨模擬時,此旗標才有意義。
SE_DACL_AUTO_INHERIT_REQ (0x0100) 要求由安全描述元保護之物件的提供者會自動將 DACL 傳播至現有的子物件。 如果提供者支援自動繼承,它會將 DACL 傳播至任何現有的子物件,並在物件及其子物件的安全性描述元中設定SE_DACL_AUTO_INHERITED位。
SE_SACL_AUTO_INHERIT_REQ (0x0200) 要求由安全描述元保護之物件的提供者會自動將 SACL 傳播至現有的子物件。 如果提供者支援自動繼承,它會將 SACL 傳播至任何現有的子物件,並在物件及其子物件的安全性描述元中設定SE_SACL_AUTO_INHERITED位。
SE_DACL_AUTO_INHERITED (0x0400) 從 Windows 2000 開始,表示 DACL 支援自動將可繼承 ACE 傳播至現有子物件的安全性描述項。 對於支援自動保護的 Windows 2000 ACL,一律會設定此位。 其用來區分這些 ACL 與不支援自動保護的 4.0 ACL Windows NT 4.0 ACL。 此位未在Windows NT 4.0 和更早版本的安全性描述項中設定,不支援可繼承 ACE 的自動傳播。
SE_SACL_AUTO_INHERITED (0x0800) 表示安全性描述項,其中 SACL 支援將可繼承 ACE 自動傳播至現有的子物件。 只有當已針對 物件及其現有的子物件執行自動繼承演算法時,才會設定這個位。 此位未在Windows NT 4.0 和更早版本的安全性描述元中設定,這不支援可繼承 ACE 的自動傳播。
SE_DACL_PROTECTED (0x1000) 保護安全描述項的 DACL,免于由可繼承的 ACE 修改。
SE_SACL_PROTECTED (0x2000) 保護安全描述項的 SACL,避免被繼承的 ACE 修改。
SE_RM_CONTROL_VALID (0x4000) 表示安全性描述元中的資源控制管理員位有效。 Resource Manager控制位是SECURITY_DESCRIPTOR結構之Sbz1成員中的八個位,其中包含存取結構之Resource Manager特有的資訊。 如需詳細資訊,請參閱 Windows SDK。
SE_SELF_RELATIVE (0x8000) 使用連續記憶體區塊中的所有安全性資訊,以自我相對格式表示安全性描述項。 如果未設定此旗標,則安全性描述元的格式為絕對格式。 如需詳細資訊,請參閱 Windows SDK 文件。

規格需求

ntifs.h (包含 ntifs.h)

ACE

ACL

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

SECURITY_DESCRIPTOR