Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 2000 秘密武器:Acldiag.exe ACL 權限診斷工具完整指南

編輯:Windows Server 教學

Access Control List (ACL) 是 Windows 2000/NT 安全模型的核心,每個 AD 物件的安全描述元 (SD) 包含:擁有者、主要群組、DACL (自主存取控制清單)、SACL (系統存取控制清單)。當權限配置錯誤導致「存取被拒」或「權限過度」時,Acldiag.exe 能以可讀文本格式輸出物件的有效權限、稽核設定、委派狀態,是排查 AD 權限疑難雜症的專用儀器。

工具定位與限制

  • 純命令列工具,讀取 SD 中的 DACL/SACL,輸出結構化文本報告。
  • 功能:比對預設 DACL、驗證/修復委派、輸出指定使用者/群組有效權限。
  • 限制:無法顯示群組原則物件 (GPO) 相關資訊,因 GPO 屬虛擬物件,工具無法解析其名稱。

完整語法與參數詳解

acldiag "ObjectDN" [/chkdeleg] [/fixdeleg] [/geteffective:{User|Group}] [/schema] [/skip] [/tdo]
參數說明
ObjectDN必要,AD 物件完整辨別名稱 (DN),必須雙引號括住。例:"CN=Admin,OU=IT,DC=corp,DC=com"
/chkdeleg檢查物件委派與授權安全性 (對照委派精靈範本)。
/fixdeleg使用委派精靈範本檢測/修復所有授權設定。
/geteffective:{User|Group}以可讀格式輸出指定使用者/群組的有效權限 (含繼承、群組展開)。
/schema檢查包含預設結構描述在內的物件安全性。
/skip不顯示安全描述元 (SD) 本身內容。
/tdo以系統規定表格格式 (非 Excel) 將資料寫入檔案,供匯入分析。

診斷輸出七大關鍵區塊釋義

1. 診斷目標識別

對應醫療病歷的「患者姓名」,確認正在分析哪個物件 (DN)。

2. 物件描述:擁有者

Owner: {User|Group}

3. 許可權限 (DACL ACEs) — 四大類型互斥

  • Deny — 明確拒絕
  • Allow — 明確允許
  • User — 使用者主體
  • Group — 群組主體

每個 ACE 僅屬上述一種類型,包含:權限遮罩 (存取權限)、繼承旗標、物件類型 GUID (若為物件層級 ACE)。

4. 繼承關係

  • 父物件 ACE 設定「容器繼承」→ 子物件自動繼承。
  • 子物件可設定「繼承自父系」旗標 (IE: Inherited)。
  • 繼承權限同樣受限於四大類型。

5. 稽核設定 (SACL) — 僅兩種結果

  • Success — 稽核成功存取
  • Failure — 稽核失敗存取

包含繼承而來的稽核 ACE。

6. 預設安全描述元 (Default Security Descriptor) — 三種狀態

執行 acldiag "DN" /schema:

  • Present — 存在且符合預設
  • Absent — 不存在 (未定義預設 SD)
  • Partial — 部分符合 (部份 ACE 遺失或異常)

7. 委派範本驗證 — 三組二元狀態

執行 acldiag "DN" /chkdeleg:

Status: {OK | NOT PRESENT/MISCONFIGURED}
Object In Use: {YES | NO}
Inherited: {YES | NO}

8. 有效權限輸出範例 (geteffective)

{User|Group} 1:
  Can Read {All | PropertyList} properties. (via Group membership)
  Can Write {All | PropertyList} properties. (via Group membership)
  Can Create {All | ObjectList} objects. (via Group membership)
  Can Delete {All | ObjectList} objects. (via Group membership)
  Can Delete this object. (via Group membership)
  Can Delete entire subtree. (via Group membership)
  Can List subobjects. (via Group membership)
  Can Read permissions. (via Group membership)
  Can Modify permissions. (via Group membership)
  Can Take/Change ownership. (via Group membership)

大括號為可選項,竪線兩側擇一;括號內 (via Group membership) 表示透過群組成員資格展開計算 (含巢狀群組)。

實戰範例:診斷 microsoft.com 網域根節點預設權限

C:\> acldiag "DC=microsoft,DC=com" /schema

輸出將顯示網域根節點的預設 SD 合規狀態,作為基線比對參考。

進階技巧

  • 搭配 DSACLS:Acldiag 偵測問題 → DSACLS 修復 ACE (支援腳本化批次修復)。
  • 委派稽核:定期對 OU 執行 /chkdeleg,確保委派設定未被手工修改破壞。
  • 有效權限模擬:變更前先用 /geteffective 模擬目標使用者權限變化,降低誤配風險。
  • 輸出匯入 Excel:使用 /tdo 產生表格檔,配合巨集自動化報表產生。

Acldiag 將不透明的二進位 SD 轉化為可讀、可比對、可自動化的權限視圖,是 AD 權限治理體系中不可或缺的「顯微鏡」。

Copyright © Windows教程網 All Rights Reserved