第 8章. 存取控制清單(ACLs)

檔案與目錄都含有關於檔案擁有者、檔案相關的群組以及系統上所有其他使用者等的權限 設定,然而這些權限設定仍然有其限制,例如無法為不同的使用者設定不同的權限設定, 因此便有人實作了 『存取控制清單』 (ACLs)。

Red Hat Enterprise Linux 3 的核心為 ext3 檔案系統與 NFS 匯出的檔案系統提供 ACL 支援,ACLs 也可使用在經由 samba 存取的 ext3 檔案系統上。

隨著核心的支援,仍需要 acl 套件才能實作 ACLs。 它含有使用 來新增、修改、移除以及擷取 ACL 資訊的工具程式。

cp 與 mv 指令可以複製或移動任何與檔案以及 目錄相關的 ACLs。

8.1. 掛載檔案系統

在您於檔案或目錄使用 ACLs 之前,必須以含有 ACL 支援的選項來掛載檔案或目錄的 分割區,假如它是一個本機的 ext3 檔案系統,可以使用下列指令來掛載它:

mount -t ext3 -o acl <device-name> <partition>

例如:

mount -t ext3 -o acl /dev/hdb3 /work

或者,假如該分割區有列出在 /etc/fstab 檔案中,可以在該 分割區的紀錄項加上 acl 選項:

LABEL=/work      /work       ext3    acl        1 2

假如這個 ext3 檔案系統是透過 samba 存取的,而且已經啟用了 ACLs 的支援,由於 已經被編譯含有 --with-acl-support 選項,所以 ACLs 將可以被 辨識。 當您存取或掛載一個 samba 共享時,不需要任何特殊的旗號(flag)。

8.1.1. NFS

預設情況下,假如檔案系統被支援 ACLs 的一部 NFS 伺服器所匯出,而且 NFS 用戶端可以讀取 ACLs,用戶端 系統將可利用 ACLs。

當您設定伺服器時,如要停用 NFS 共享資源的 ACLs 特色,請在 /etc/exports 檔案中 加入 no_acl 選項。 如要在用戶端掛載時停用 NFS 共享的 ACLs 特色, 請使用命令列或 /etc/fstab 檔案以 no_acl 選項 來掛載它。