linux 查看文件mask值,Linux基础_ACL权限、mask值

acl权限在什么情况下使用:

当要给一个用户与文件的属主、属组、其他人权限都不同的时候使用。也就是说,这个用户对应于这个文件不属于三个身份中的任何一种,是属于第四种身份,那么我们就需要使用acl权限去给他赋予单独的权限。

facl ——文件的访问控制列表

使用facl:

getfacl 文件名//查看文件的facl权限

setfacl -m u:用户名:权限 文件名//修改当前文件的acl权限

ll 文件名

-rwxrwxrw-+ 1 jack root 86 Jun 13 15:53 文件名 //在低11个字符处若有“+”,则说名文件有acl权限。

setfacl -x u:jack 文件名 //删除jack对文件的属主权

setfacl -b 文件名 //移除所有用户、组、其他的权限

setfacl其他用法:

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...

-m, --modify-acl 更改文件的访问控制列表

-M, --modify-file=file 从文件读取访问控制列表条目更改

-x, --remove=acl 根据文件中访问控制列表移除条目

-X, --remove-file=file 从文件读取访问控制列表条目并删除

-b, --remove-all 删除所有扩展访问控制列表条目

-k, --remove-default 移除默认访问控制列表

--set=acl 设定替换当前的文件访问控制列表

--set-file=file 从文件中读取访问控制列表条目设定

--mask 重新计算有效权限掩码

-n, --no-mask 不重新计算有效权限掩码

-d, --default 应用到默认访问控制列表的操作

-R, --recursive 递归操作子目录

-L, --logical 依照系统逻辑,跟随符号链接

-P, --physical 依照自然逻辑,不跟随符号链接

--restore=file 恢复访问控制列表,和“getfacl -R”作用相反

--test 测试模式,并不真正修改访问控制列表属性

-v, --version 显示版本并退出

-h, --help 显示本帮助信息

实例:

[root@erhou ~]# getfacl file1

# file: file1

# owner: jack

# group: root

user::rwx

group::rwx

other::rw-

[root@erhou ~]# setfacl -m u:tom:rx file1

[root@erhou ~]# ll file1

-rwxrwxrw-+ 1 jack root 86 Jun 13 15:53 file1

[root@erhou ~]# getfacl file1

# file: file1

# owner: jack

# group: root

user::rwx

user:tom:r-x

group::rwx

mask::rwx

other::rw-

[root@erhou ~]# setfacl -x u:tom file1

[root@erhou ~]# ll file1

-rwxrwxrw-+ 1 jack root 86 Jun 13 15:53 file1

[root@erhou ~]# getfacl file1

# file: file1

# owner: jack

# group: root

user::rwx

group::rwx

mask::rwx

other::rw-

[root@erhou ~]# setfacl -b file1

[root@erhou ~]# ll file1

-rwxrwxrw- 1 jack root 86 Jun 13 15:53 file1

[root@erhou ~]# getfacl file1

# file: file1

# owner: jack

# group: root

user::rwx

group::rwx

other::rw-

mask 权限,指的是用户或群组能拥有的最大 ACL 权限,也就是说,给用户或群组设定的 ACL 权限不能超过 mask 规定的权限范围,超出部分做无效处理。

举个例子,如果像上面命令那样,给 tom用户赋予访问 file1的 r-x 权限,此时并不能说明 tom 用户就拥有了对该文件的读和访问权限,还需要和 mask 权限对比,r-x 确实是在 rwx 范围内,这时才能说 tom用户拥有 r-x 权限。

需要注意的是,这里将权限进行对比的过程,实则是将两权限做“按位相与”运算,最终得出的值,即为 tom用户有效的 ACL 权限。这里以读(r)权限为例,做相与操作的结果如表 1 所示:

读权限做相与操作

A B and

r r r

r - -

- r -

- - -

但是,如果把 mask 权限改为 r–,再和 tom 用户的权限 r-x 比对(r-- 和 r-w 做与运算),由于 r-w 超出 r-- 的权限范围,因此 tom 用户最终只有 r 权限,手动赋予的 w 权限无效。这就是在设定 ACL 权限时 mask 权限的作用。

大家可以这样理解 mask 权限的功能,它将用户或群组所设定的 ACL 权限限制在 mask 规定的范围内,超出部分直接失效。

mask 权限可以使用 setfacl 命令手动更改,比如,更改 file1文件 mask 权限值为 r-x,可执行如下命令:

[root@ergou ~]# setfacl -m m:rx file1

#设定mask权限为r-x,使用"m:权限"格式

[root@ergou ~]# getfacl file1

#file:file1

#owner: jack

#group: root

user::rwx

group::rwx

mask::r-x

other::---

不过,我们一般不更改 mask 权限,只要赋予 mask 最大权限(也就是 rwx),则给用户或群组设定的 ACL 权限本身就是有效的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值