首頁 > 軟體

Linux 存取控制列表(access control list)

2020-06-16 16:39:48

簡介
隨著應用的發展,傳統的Linux檔案系統許可權控制無法適應複雜的控制需求,而ACL的出現,則是為了擴充套件Linux的檔案許可權控制,以實現更為複雜的許可權控制需求。其可以針對任意的使用者和使用者組進行許可權分配(只有root使用者和以定義ACL),以及預設許可權分配。

型別
針對檔案所有者分配
針對檔案所屬的群組分配
針對額外使用者分配
針對額外群組分配
其他使用者分配
最大存取許可權

檢視ACL
getfacl [-option]  [file|dic]
可選引數: -a -d -c -e -E -s -R -t -n
輸出範例:
[tom@localhost abc]$ getfacl count.sh
# file: count.sh
# owner: root
# group: root
user::rw-
user:tom:rwx
user:aaa:rwx
group::r--
group:temp:rw-
mask::rwx
other::r--

設定ACL

setfacl

選項引數含義
-m ACL設定 設定檔案的ACL
-M 檔案 從檔案中讀取ACL條目進行設定
-x ACL設定 刪除ACL
-X 檔案 從檔案中讀取ACL條目並刪除
-b   刪除所有擴充套件ACL
-k   刪除所有預設ACL
-R   遞回設定子目錄及檔案
-d   設定預設ACL
-P   跳過符號連結
-L   跟蹤符號連結
-n   不重新計算有效許可權
–set= ACL設定 覆蓋ACL設定
–mask   重新計算有效許可權
–resotre= 檔案 從檔案恢復備份的ACL
–test   測試模式,輸出結果
–set-file= 檔案 從檔案讀取ACL條目進行設定

ACL規則表示方式

[d[efault]]:[u[ser]]:使用者:[許可權] #指定使用者ACL
[d]:g:群組:[許可權] #指定使用者組ACL
[d]:m:[許可權] #有效許可權掩碼(其它許可權預設不能超出該許可權)
[d]:o:[許可權] #其它使用者ACL

設定範例:
    root#setfacl -m u:tom:rwx sum.sh #為使用者tom指定許可權


IT145.com E-mail:sddin#qq.com