SD & ACL

vivi~發表於2024-06-23

在Windows系統中,安全描述符(SD)和訪問控制列表(ACL)是用來管理檔案和目錄的安全和許可權的兩個重要概念。它們之間既有區別也有聯絡。下面是對這兩個概念的詳細解釋:

安全描述符(Security Descriptor, SD)
安全描述符是一個結構,它包含了與物件(如檔案、目錄、程序等)相關的安全資訊。SD可以包含以下內容:

所有者(Owner):指定物件的所有者。
主要組(Primary Group):指定物件的主要組,通常用於POSIX相容性。
DACL(Discretionary Access Control List, 自由訪問控制列表):定義哪些使用者或組可以訪問物件,以及他們擁有哪些許可權。
SACL(System Access Control List, 系統訪問控制列表):用於審計目的,定義哪些訪問嘗試會被記錄。
訪問控制列表(Access Control List, ACL)
ACL 是一種資料結構,它包含了一系列訪問控制條目(ACE)。每個ACE定義了某個使用者或組對物件的特定許可權。ACL分為兩種:

DACL(Discretionary ACL):用於控制訪問許可權。
SACL(System ACL):用於控制審計策略。
主要區別和聯絡
區別
作用範圍不同:

SD 是一個更高層次的結構,它包含了所有者、主要組、DACL和SACL等所有安全相關的資訊。
ACL 是SD的一部分,具體負責定義訪問許可權(DACL)或審計策略(SACL)。
功能不同:

SD 定義了物件的全面安全屬性,包括所有者和審計資訊。
ACL 僅定義了訪問控制條目(ACE),具體規定了誰可以做什麼。
聯絡
包含關係:
DACL 和 SACL 都是 SD 的組成部分。一個SD可以包含一個DACL和一個SACL。
許可權管理:
SD 透過包含DACL來管理物件的訪問許可權,DACL包含了具體的ACL條目(ACE),每個ACE定義了特定使用者或組的許可權。
示例
假設我們有一個檔案 example.txt,它的安全描述符(SD)和訪問控制列表(ACL)的結構可以如下表示:

plaintext
Copy code
Security Descriptor (SD):
Owner: Alice
Primary Group: Users
DACL:
ACE 1: Bob - Read
ACE 2: Carol - Write
SACL:
ACE 1: Audit - All Access - Success/Failure
在這個示例中:

SD 包含了檔案的所有者(Alice)、主要組(Users)、一個DACL和一個SACL。
DACL 包含兩個ACE,分別定義了Bob的讀許可權和Carol的寫許可權。
SACL 包含一個ACE,定義了對所有訪問嘗試的審計策略。
總結
安全描述符(SD)是一個包含所有安全相關資訊的結構,而訪問控制列表(ACL)是SD的一部分,具體定義了訪問許可權和審計策略。SD透過包含DACL和SACL來全面管理物件的安全屬性。理解這兩個概念的區別和聯絡對於有效地管理Windows系統中的安全和許可權至關重要。

相關文章