linux ACL有什麼用

2023-02-27 18:01:09

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針對普通檔案的設定:


setfacl命令(set設定,f檔案file,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許可權資訊)
登入後複製

1.png

2.png

刪除檔案的ACL許可權

setfacl -x u:zx  1243.txt
登入後複製

在設定了ACL許可權後,通過檢視檔案資訊可以看到檔案許可權資訊列有個「+」號

3.png

移除檔案的ACL許可權資訊:

setfacl -b 1243.txt (移除1342.txt的ACL許可權資訊)

4.png

ACL針對目錄檔案的設定


對目錄檔案設定ACL,是為了對目錄檔案裡面,建立的檔案進行許可權控制.

mask:表示使用者的最大許可權範圍

setfacl -m d:u:zx:r-- 123
登入後複製

d:default(設定預設)

用root在根目錄下建立123/bbb目錄檔案並設定使用者zx有讀行許可權:

5.png

6.png

可以看到後續的新建123檔案都繼承了之前的bbbACL許可權設定zx只有讀許可權

7.png

相關推薦:《Linux視訊教學

以上就是linux ACL有什麼用的詳細內容,更多請關注TW511.COM其它相關文章!