ACL是指存取控制列表,是指一個針對檔案/目錄的存取控制列表,ACL用於設定使用者針對檔案的許可權。ACL的作用:1、可以針對使用者來設定許可權;2、可以針對使用者組來設定許可權;3、子檔案/目錄繼承父目錄的許可權。
本教學操作環境:linux7.3系統、Dell G3電腦。
ACL 是什麼
ACL的全稱是 Access Control List (存取控制列表) ,一個針對檔案/目錄的存取控制列表。它在UGO許可權管理的基礎上為檔案系統提供一個額外的、更靈活的許可權管理機制。它被設計為UNIX檔案許可權管理的一個補充。
ACL允許你給任何的使用者或使用者組設定任何檔案/目錄的存取許可權。
在 Linux 系統中, ACL 可實現對單一使用者設定存取檔案的許可權。也可以這麼說,設定檔案的存取許可權,除了用傳統方式(3 種身份搭配 3 種許可權),還可以使用 ACL 進行設定。
ACL有什麼用
既然是作為UGO許可權管理的補充,ACL自然要有UGO辦不到或者很難辦到的本事,例如:
可以針對使用者來設定許可權
可以針對使用者組來設定許可權
子檔案/目錄繼承父目錄的許可權
檢查是否支援ACL
ACL需要Linux核心和檔案系統的配合才能工作,當前我們能見到的大多數Linux發行版本預設都是支援的。但最好還是能夠先檢查一下:
sudo tune2fs -l /dev/sda1 |grep 「Default mount options:」
Default mount options: user_xattr acl
登入後複製
我們能夠看到預設情況下(Default mount options:)已經加入 acl 支援了。
ACL針對普通檔案的設定:
新增檔案的ACL
setfacl -m u:zx:--- 1243.txt (zx使用者對1243.txt檔案沒有任何許可權)
setfacl -m g:zx:--- 1243.txt (zx組對1243.txt檔案沒有任何許可權)
登入後複製
-m參數列示modify修改,u表示針對user使用者設定,zx使用者名稱稱,---表示設定的許可權資訊
檢視檔案的ACL許可權
getfacl 1243.txt (檢視檔案的ACL許可權資訊)
登入後複製
刪除檔案的ACL許可權
setfacl -x u:zx 1243.txt
登入後複製
在設定了ACL許可權後,通過檢視檔案資訊可以看到檔案許可權資訊列有個「+」號
移除檔案的ACL許可權資訊:
setfacl -b 1243.txt
(移除1342.txt的ACL許可權資訊)
ACL針對目錄檔案的設定
對目錄檔案設定ACL,是為了對目錄檔案裡面,建立的檔案進行許可權控制.
mask:表示使用者的最大許可權範圍
setfacl -m d:u:zx:r-- 123
登入後複製
d:default(設定預設)
用root在根目錄下建立123/bbb目錄檔案並設定使用者zx有讀行許可權:
可以看到後續的新建123檔案都繼承了之前的bbbACL許可權設定zx只有讀許可權
相關推薦:《Linux視訊教學》
以上就是linux ACL有什麼用的詳細內容,更多請關注TW511.COM其它相關文章!