linux 权限 mask,Linux mask有效权限详解
前面,我們已經(jīng)學(xué)習(xí)如何使用 setfacl 和 getfacl 為用戶或群組添加針對(duì)某目錄或文件的 ACL 權(quán)限。例如:
[root@localhost /]# getfacl project
#file: project
#owner: root
#group: tgroup
user::rwx
group::rwx
other::—
[root@localhost ~]# setfacl -m u:st:rx /project
#給用戶st設(shè)定針對(duì)project目錄的rx權(quán)限
[root@localhost /]# getfacl project
#file: project
#owner: root
#group: tgroup
user::rwx
user:st:r-x
group::rwx
mask::rwx
other::—
對(duì)比添加 ACL 權(quán)限前后 getfacl 命令的輸出信息,后者多了 2 行信息,一行是我們對(duì) st 用戶設(shè)定的 r-x 權(quán)限,另一行就是 mask 權(quán)限。
mask 權(quán)限,指的是用戶或群組能擁有的最大 ACL 權(quán)限,也就是說,給用戶或群組設(shè)定的 ACL 權(quán)限不能超過 mask 規(guī)定的權(quán)限范圍,超出部分做無效處理。
舉個(gè)例子,如果像上面命令那樣,給 st 用戶賦予訪問 project 目錄的 r-x 權(quán)限,此時(shí)并不能說明 st 用戶就擁有了對(duì)該目錄的讀和訪問權(quán)限,還需要和 mask 權(quán)限對(duì)比,r-x 確實(shí)是在 rwx 范圍內(nèi),這時(shí)才能說 st 用戶擁有 r-x 權(quán)限。
需要注意的是,這里將權(quán)限進(jìn)行對(duì)比的過程,實(shí)則是將兩權(quán)限做“按位相與”運(yùn)算,最終得出的值,即為 st 用戶有效的 ACL 權(quán)限。這里以讀(r)權(quán)限為例,做相與操作的結(jié)果如表 1 所示:
表 1 讀權(quán)限做相與操作
A
B
and
r
r
r
r
–
–
–
r
–
–
–
–
但是,如果把 mask 權(quán)限改為 r–,再和 st 用戶的權(quán)限 r-x 比對(duì)(r– 和 r-w 做與運(yùn)算),由于 r-w 超出 r– 的權(quán)限范圍,因此 st 用戶最終只有 r 權(quán)限,手動(dòng)賦予的 w 權(quán)限無效。這就是在設(shè)定 ACL 權(quán)限時(shí) mask 權(quán)限的作用。
大家可以這樣理解 mask 權(quán)限的功能,它將用戶或群組所設(shè)定的 ACL 權(quán)限限制在 mask 規(guī)定的范圍內(nèi),超出部分直接失效。
mask 權(quán)限可以使用 setfacl 命令手動(dòng)更改,比如,更改 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?
other::—
不過,我們一般不更改 mask 權(quán)限,只要賦予 mask 最大權(quán)限(也就是 rwx),則給用戶或群組設(shè)定的 ACL 權(quán)限本身就是有效的。
總結(jié)
以上是生活随笔為你收集整理的linux 权限 mask,Linux mask有效权限详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统用xset命令,专 lin
- 下一篇: linux数据块的大小不一样,HDFS块