Linux之ACL權限設置

之前我用了兩篇文章詳細地講述瞭如何創建用戶以及用戶組,接下來的這篇文章要和大家一起學習ACL的權限設置,可能有朋友已經注意到我的用詞了,我說和大家一起學習!!!因爲之前的內容我都掌握,所以和大家分享,而現在關於這個ACL我也不是很瞭解,所以藉着這個機會我們一起深入學習!
一、ACL簡介
ACL是Access Control List的英文縮寫,你可以將之理解爲訪問控制列表。它的存在意義就是提供除了傳統的屬主、屬組以及其他人的r、w、x權限之外的其他權限,它可以針對單一文件、單一用戶或目錄進行rwx的權限設置,比如有三個新用戶,我需要這三個新用戶都可以在同一個目錄下工作,但三個目錄還是擁有自己的家目錄與基本的私有用戶組,有沒有覺得稍稍有些難度了?這個時候就需要使用ACL了。
目前,大部分的Linux系統都已經支持了ACL,我們可以輸命令看一下:
在這裏插入圖片描述
從上面的圖中,可以看到XFS已經支持ACL了,並且不用任何操作,就可以使用了。
二、ACL的設置技巧
關於如何設置與查看ACL是很簡單的,只要會用下面這兩個命令就可以了:
getfacl:獲取某個文件/目錄的ACL設置選項
setfacl:設置某個目錄/文件的ACL規範
先來談一談最常見的設置方式,即針對單一用戶的設置方式:
在這裏插入圖片描述
分析一下上面的這張圖:首先創建了一個文件夾:1.test,然後我查看了這個新創建的文件的權限與屬性,然後我使用了上面所提到的命令對這個文件的權限進行了修改,對‘gao’這個用戶賬號進行了權限設置,將權限設置爲可讀可執行,修改之後可以看到該文件的權限部分多了一個+,且與原本的權限(644)差別很大,目前是654.最不可思議的地方來了,接下來我又用這個命令再一次進行權限設置,不同的是這一次兩個冒號之間的用戶賬號部分沒有添加任何用戶,所以此次的修改默認針對該文件擁有者。
接下來,我們用另一個命令去查看剛剛我們所有的設置
在這裏插入圖片描述
我用同樣的命令在我的系統上得到了如下的結果,我們分析一下:第一行代表的是文件名,第二行與第三行分別代表文件的擁有者和所屬用戶組,第四行代表的是擁有者權限,因爲在上面的設置中我們對擁有者使用“setfacl -m u :: rwx 1.test”進行過設置,所以此處的權限是rwx.第五行代表的是專門針對gao這個用戶設置的權限,與文件擁有者不同,第六行則戴白哦用戶組的權限,第七行指文件的默認有效權限,最後一行代表其他人擁有的權限。可能細心的朋友已經發現了,前面的三行都有#,後面幾行都沒有,這是爲什莫呢?因爲前面的三行的內容是文件的默認屬性,後面的幾行用戶、用戶組和有效權限的設置值。
然後我們看看針對用戶組的設置
在這裏插入圖片描述
通過上面的例子,可以看到我的設置時成功的,liuliu這個用戶組的權限已經被我設置成了RWX,最後來說一說這個mask權限,這個權限所代表就是用戶或用戶組設置的權限必須存在於mask的權限範圍內纔會生效,這樣說也不會很明白,還是具體看一個例子吧。重點來了
在這裏插入圖片描述
大家一起看一看關於設置mask權限後的變化,首先我給mask權限設置了r:可讀權限,然後你會看到user和group權限的那兩行有了大變化,後面多出了用#打頭的effective:r–,這說明什麼?大家注意了,之前我們的設置是:user具有可讀權限,group:liuliu具有rwx權限,但是現在有了mask的r–有效設置,就意味着哪怕group:liuliu原來具有wx權限也不管用,因爲group的權限在mask的範圍之內的部分纔會生效。所以此時user和group:liuliu的實際權限就只是r–。所以呢,我們可以通過設置mask來設置權限的最大上限,避免不小心開放了某些權限給到不該給用戶或用戶組,但是以我個人來說,我一般都是給mask設置rwx權限,因爲我會單獨給其他的用戶或用戶組設置相應的權限。
這裏再和大家回顧一下關於修改權限的相關知識點:修改文件的屬性用chgrp(修改所屬用戶組),chown(修改用戶),以及修改文件權限的chmod.
在這裏插入圖片描述
上面的圖中我做了一下幾個步驟,首先查看了1.test的權限,可以看到由於之前mask的設置,此時該文件的所有權限都是可讀;於是使用“setfacl -m m:rwx 1.test” 將文件的mask 權限設置爲rwx,最後使用chmod命令將文件的權限進行了修改。此時就能看到文件的權限已經發生了變化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章