歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網

ACL

日期:2017/3/6 15:25:22   编辑:關於Unix
acl 第 8章 . 訪問存取控制列表 文件和目錄為它們的所有者、組群、和所有其他系統用戶規定了許可權限。但是,這些權限設置也有其局限性。例如:不同的用戶無法被配置使用不同的權限。訪問存取控制列表( Access Control Lists,ACL )就由此而生。 紅帽企業

acl

第 8章 . 訪問存取控制列表

文件和目錄為它們的所有者、組群、和所有其他系統用戶規定了許可權限。但是,這些權限設置也有其局限性。例如:不同的用戶無法被配置使用不同的權限。訪問存取控制列表(Aclearcase/" target="_blank" >ccess Control Lists,ACL)就由此而生。

紅帽企業 Linux 3 內核為 ext3 文件系統和 NFS 導出的文件系統提供 ACL 支持。ACL 在通過 Samba 存取的 ext3 文件系統上也被識別。

除了在內核中的支持外,你還需要 acl 軟件包才能實現 ACL。其中包含用來添加、修改、刪除、和檢索 ACL 信息的工具。

cpmv 命令會復制或轉移任何與文件和目錄相關的 ACL。

8.1. 掛載文件系統

在文件或目錄中使用 ACL 之前,它們所在的分區必須使用 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 來存取的,而且其中還啟用了 ACL,ACL 就會被識別,這是因為 Samba 已經使用 --with-acl-support 選項被編譯了。在存取或掛載 Samba 共享的時候不需要任何特殊標志。

8.1.1. NFS

按照默認設置,如果被 NFS 服務器導出的文件系統支持 ACL,並且 NFS 客戶能夠讀取 ACL,ACL 就會被客戶系統利用。

在配置服務器的時候,若要禁用 NFS 共享上的 ACL,則在 /etc/exports 文件中包括 no_acl 選項。要在客戶上掛載 NFS 共享的時候禁用其中的 ACL,通過命令行或 /etc/fstab 文件使用 no_acl 選項來掛載它。

8.2. 設置存取 ACL

ACL 有兩種:存取 ACL(access ACLs)和默認 ACL(default ACLs)。存取 ACL 是對指定文件或目錄的存取控制列表。默認 ACL 只能和目錄相關。如果目錄中的文件沒有存取 ACL,它就會使用該目錄的默認 ACL。默認 ACL 是可選的。

ACL 可以按以下條件配置:

  1. 每用戶

  2. 每組群

  3. 通過有效權限屏蔽

  4. 為不屬於文件用戶組群的用戶配置

setfacl 工具為文件和目錄設置 ACL。使用 -m 來添加或修改文件或目錄的 ACL:

setfacl -m <rules> <files>

規則(<rules>)必須使用以下格式指定。同一條命令中可以指定多項規則,只要它們是用逗號分開即可。

u:<uid>:<perms>

為用戶設置存取 ACL。用戶名或 UID 必須被指定。用戶可以是系統上的任何合法用戶。

g:<gid>:<perms>

為組群設置存取 ACL。組群名稱或 GID 必須被指定。組群可以是系統上的任何合法組群。

m:<perms>

設置有效權限屏蔽。該屏蔽是組群所有者和所有用戶和組群項目的權限的合集。

o:<perms>

為文件的組群用戶之外的用戶設置存取 ACL。

Copyright © Linux教程網 All Rights Reserved