Linux系統中關於ACL的簡單介紹

一、什麼是ACL,及其作用是什麼?##

: 傳統的權限設置僅有三種身份(ower、group、other),搭配三種權限(read、write、execute),並沒有辦法單純針對某一個用戶或某一個組來設置特定的權限需求。爲了解決這一問題,就提出了ACL的辦法。

ACL就是Access Control List的縮寫,中文意思就是訪問控制列表,其主要作用可以用來提供除傳統的ower、group、others的read、write、execute權限之外的具體權限的設置。ACl可以針對單一用戶、單一文件或目錄進行讀寫執行等權限的設置,可以實現更加靈活的權限設置,這樣的權限設置對於有特殊權限需求的使用情況是非常有幫助的。

ACl可以進行一下三種控制權限操作:

  • 1、對特定用戶和文件/目錄設定權限
    2、對特定的組合文件/目錄設置權限
    3、對指定目錄文件及其下新建的文件/目錄設置默認的權限
## 二、ACL啓動 ##

CentOS7中,無論是操作系統安裝時還是之後手工創建的文件系統(xfs、ext4)均會開啓ACL功能。

CentOS6及之前的版本,僅操作系統安裝時創建的文件系統纔會默認開啓ACL,手工創建的文件系統,需要手工開啓ACL功能。

啓動方式:

  • mount -o acl /dev/sda1 取消的方式,重新掛載時不指定即可
    mount -o remount,acl /dev/sda1
    以上兩種方式開啓的ACL可以通過mount |grep sdaX
    tune2fs -o acl /dev/sda7
    取消的方式 tune2fs -o ^acl /dev/sda1
    使用以上方式開啓的ACL可以通過tune2fs -l /dev/sda1|grep option
## 三、ACL設置技巧 ##

ACL的設置主要是通過以下兩條命令實現的:

  • getfacl:用於取得某個文件/目錄的ACL設置
    setfacl:用於設置某個目錄/文件的ACL規定

1、getfacl命令
getfacl命令大多隻是用來查詢文件/目錄的ACL設置的,其他使用較少。

  查詢的命令爲:getfacl filename
- 以下爲getfacl查詢結果的輸出格式:

這裏寫圖片描述

     第一至三行顯示文件名,擁有者,所屬組信息
     第四行顯示文件的特殊權限位信息
     第五、七、十行顯示文件的基礎權限位,對應於文件原有權限位的用戶、組和其他字段。
     第六、八行顯示新增的用戶名、組名及相應權限
     第九行顯示有效的權限掩碼,僅限制新增的組和用戶的有效權限。
         (文件權限不受有效權限掩碼的影響)
     第十一至第十五行顯示與被設置的目錄相關的默認ACL

2、setfacl命令

命令格式:setfacl 參數 作用對象 目標文件/目錄

參數介紹:

  • -m:修改文件當前的ACL,不可與-x參數合用
    -x:從文件的ACL中單獨移除一條權限
    -b:移除文件的全部ACL
    -k:刪除默認的ACL
    -d:爲目錄設置默認的ACL(該參數只對目錄有效)
    -R:遞歸設置ACL,其子目錄也將會被設置
- eg1:針對特定用戶權限的設置

命令格式:setfacl -m u:username列表:[rwx] filename
這裏寫圖片描述

- eg2:針對特定用戶組權限的設置

命令格式:setfacl -m g:grouprname列表:[rwx] filename
這裏寫圖片描述

## 四、 有效權限mask##

有效權限mask的意思就是對新增的用戶或組所設置的權限,必須要存在於mask權限內纔會生效。意思就是說新增用戶或組的有效權限是其設定的權限與mask的權限取合集。再說的直白點就是:mask裏有的權限,新增用戶或組同時也設置相應權限了,其權限纔會有效;mask裏沒有設置的權限,新增用戶或組即使設置了,也是不會生效的。

一般情況下最好是將mask的權限設置爲:rwx,然後再分別依據不同的用戶或組設置不同的權限。

- eg3:針對有效權限mask的設置

命令格式:setfacl -m m:[rwx] filename
這裏寫圖片描述

## 五、默認權限 ##

setfacl命令中的 -d 參數是用來設置默認權限的,但是此設置只對目錄有效,不能對文件進行設置。設置後,此目錄下新建的子目錄及文件都將繼承此權限,也就是能夠實現遞歸設置。

- eg4:針對默認權限的設置

命令格式: setfacl -m d:u:username列表:[rwx] /…/directoryname

    • setfacl -m d:g:groupname列表:[rwx] /…/directoryname
      :
      這裏寫圖片描述
      這裏寫圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章