新聞中心

創(chuàng)新互聯(lián)專注于懷柔企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。懷柔網(wǎng)站建設(shè)公司,為懷柔等地區(qū)提供建站服務(wù)。全流程按需開發(fā)網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
[root@localhost /]# getfacl project
#file: project <-文件名
#owner: root <-文件的屬主
#group: tgroup <-文件的屬組
user::rwx <-用戶名欄是空的,說明是所有者的權(quán)限
group::rwx <-組名欄是空的,說明是所屬組的權(quán)限
other::--- <-其他人的權(quán)限
[root@localhost ~]# setfacl -m u:st:rx /project
#給用戶st設(shè)定針對project目錄的rx權(quán)限
[root@localhost /]# getfacl project
#file: project
#owner: root
#group: tgroup
user::rwx
user:st:r-x <-用戶 st 的權(quán)限
group::rwx
mask::rwx <-mask 權(quán)限
other::---
對比添加 ACL 權(quán)限前后 getfacl 命令的輸出信息,后者多了 2 行信息,一行是我們對 st 用戶設(shè)定的 r-x 權(quán)限,另一行就是 mask 權(quán)限。
mask 權(quán)限,指的是用戶或群組能擁有的最大 ACL 權(quán)限,也就是說,給用戶或群組設(shè)定的 ACL 權(quán)限不能超過 mask 規(guī)定的權(quán)限范圍,超出部分做無效處理。
舉個例子,如果像上面命令那樣,給 st 用戶賦予訪問 project 目錄的 r-x 權(quán)限,此時并不能說明 st 用戶就擁有了對該目錄的讀和訪問權(quán)限,還需要和 mask 權(quán)限對比,r-x 確實是在 rwx 范圍內(nèi),這時才能說 st 用戶擁有 r-x 權(quán)限。
需要注意的是,這里將權(quán)限進行對比的過程,實則是將兩權(quán)限做“按位相與”運算,最終得出的值,即為 st 用戶有效的 ACL 權(quán)限。這里以讀(r)權(quán)限為例,做相與操作的結(jié)果如表 1 所示:
| A | B | and |
|---|---|---|
| r | r | r |
| r | - | - |
| - | r | - |
| - | - | - |
但是,如果把 mask 權(quán)限改為 r--,再和 st 用戶的權(quán)限 r-x 比對(r-- 和 r-w 做與運算),由于 r-w 超出 r-- 的權(quán)限范圍,因此 st 用戶最終只有 r 權(quán)限,手動賦予的 w 權(quán)限無效。這就是在設(shè)定 ACL 權(quán)限時 mask 權(quán)限的作用。
大家可以這樣理解 mask 權(quán)限的功能,它將用戶或群組所設(shè)定的 ACL 權(quán)限限制在 mask 規(guī)定的范圍內(nèi),超出部分直接失效。
mask 權(quán)限可以使用 setfacl 命令手動更改,比如,更改 project 目錄 mask 權(quán)限值為 r-x,可執(zhí)行如下命令:
[root@localhost ~]# setfacl -m m:rx /project
#設(shè)定mask權(quán)限為r-x,使用"m:權(quán)限"格式
[root@localhost ~]# getfacl /project
#file:project
#owner:root
#group:tgroup
user::rwx
group::rwx
mask::r-x <--mask權(quán)限變?yōu)閞-x
other::---
不過,我們一般不更改 mask 權(quán)限,只要賦予 mask 最大權(quán)限(也就是 rwx),則給用戶或群組設(shè)定的 ACL 權(quán)限本身就是有效的。
本文名稱:Linuxmask有效權(quán)限詳解
文章起源:http://fisionsoft.com.cn/article/dhdjpji.html


咨詢
建站咨詢
