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有什麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!