Linux权限管理------ACL

什么是ACL

Acess Control List,访问权限列表,主要目的是在传统的owner,group,other的read,write,execute权限之外,进行更加细化的权限设定,ACL可以对用户,组,甚至是文件和目录进行r,w,x的权限设置,对于需要特殊权限的情况非常有帮助。

主要针对下面几个部分内容进行设置
·用户(user):可以针对使用者来进行权限设定
·群组(group):可以针对群组来进行权限设定
·默认属性(mask):与umask功能类似,注意这里没有u哦,如此值被设置为055,那么在该目录下新建文件或目录时,都回继承上面mask的权限限制,最后得到的权限为700

ACL的设定

setfacl与getfacl

修改某个文件/目录的ACL规范

setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名
选项意义
-m后接acl参数,表示将xxx的acl权限设置为actl参数的样子,不可与-x同时使用
-x后街acl参数,表示将xxx的acl权限设置删除
-b移除所有的acl设定
-k移除预设的acl参数(比如mask值为077)
-R递归设置acl,即目录及子目录都被包含在内
-d设定预设acl参数,值对目录有效
针对用户设定

在这里插入图片描述
当被设置完acl权限之后,文件的属性上多了一个加号+,这时虽然显示对于other用户来讲,时只读的权限但是实际上的结果可能会有所不同。

那么上面所说的不同的权限具体是什么呢,如何来查看呢?可以使用getfacl命令

getfacl acl_test1

在这里插入图片描述
看到了吗,虽然文件对于other用户来说是只读的,但是对于user1来说,是rx的,这就是acl的强大之处

针对群组设置
# 针对群组的设置
setfacl -m g:user3:rwx acl_test1

在这里插入图片描述

针对有效权限设置

上面所提到过的mask,代表的是effective permission,有效权限,意义为,限制权限的范围,不会超过有效权限

setfacl -m m:r acl_test1
getfacl acl_test1

在这里插入图片描述
注意上边红色框区域,它所代表的含义是,虽然左边的user,group等对此文件有读以上的权限,即>4,但是这里因为设置了acl的权限限定,所以此时有效的权限只有r,即只读。
这样做的好处是,我们可以为文件设置一个最大的权限限定,所以即便由于操作疏忽,导致即便赋予777权限,但是实际上有效权限只有400

ACL目录属性默认权限
setfacl -m d:[ug]:用户/组:[rwx] 目录

这个命令仅能作用在目录上,意义为,当用户在该目录(A)下新建文件或路径时,都会继承上面设置的权限,但是仅对该目录下的子目录或文件有效,对该目录(A)无效。

下面我们在/tmp目录下创建一个test_acl_extends目录,然后设置acl目录的默认权限,(此目录下的新建文件或路径都遵循设定的acl)

在这里插入图片描述

接下来创建一个名为a.txt的文件,发现此文件的属性里也多了一个加号+

在这里插入图片描述

接下来我们来验证一下,看看是否能修改a.txt文件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值