章 24. Linux 存取控制清單

內容目錄

24.1. ACL 的優點
24.2. 定義
24.3. 處理 ACL
24.4. 應用程式的 ACL 支援
24.5. 若需詳細資訊

摘要

本章節簡略介紹 Linux 檔案系統的 POSIX ACL (存取控制清單) 相關背景和功能。ACL 可以看做是傳統檔案系統物件許可權概念的擴充。使用 ACL,定義許可權比傳統許可權概念更有彈性。

POSIX ACL 這個詞彙表示這是真正的 POSIX (可攜式作業系統介面) 標準。各自的草稿標準 POSIX 1003.1e 和 POSIX 1003.2c 已經因多種因素而撤銷了。然而,在屬於 UNIX 家族中很多系統發現的 ACL,是以這些草稿為基礎,而且本章節敘述的系統 ACL 實行,也是依循這兩個標準。要查閱它們,請到 http://wt.xpilot.org/publications/posix.1e/

24.1. ACL 的優點

傳統上,會為 Linux 系統的每一個檔案物件,定義三組的許可權。這三組包括讀取 (r)、寫入 (w) 以及執行 (x) 許可權,用於三種使用者類型 (檔案擁有者、群組和其他使用者) 的每一個。此外,也可以設定設定使用者 id設定群組 id 以及黏貼位元。 這個小小的概念對於大部份實際情況已經足夠了。不過,對於更複雜的案例或進階應用程式,系統管理員以前必須使用一些訣竅才能克服傳統許可權概念的限制。

ACL 可以用於需要擴充傳統檔案許可權概念的狀況。它們允許指定許可權給個別使用者或群組,即使這些許可權並不對應至原始擁有者或所屬群組。存取控制清單是 Linux 核心的特性之一,目前 ReiserFS、Ext2、Ext3、JFS 和 XFS 都能支援。使用 ACL 可以理解複雜的情況,無需在應用程式層次上實行複雜的許可權模型。

以 Linux 伺服器取代 Winodws 伺服器時,ACL 的優點特別明顯。部份連線的工作站還可以在移轉之後,繼續在 Winodws 下執行。Linux 系統提供檔案和列印服務給含 Samba 的 Windows 用戶端使用。假設 Samba 支援存取控制清單,使用者許可權可以同時在 Linux 伺服器和使用圖形使用者介面的 Windows (限 Winodws NT 和更新的版本) 上設定。透過 winbindd,還可以指定許可權給只存取 Windows 領域中而且沒有 Linux 伺服器任何帳戶的使用者。