RHCE 学习笔记(20) ACL

这一节进一步学习了文件目录的权限管理 ACL。之前学习的权限管理比较粗犷,比方说,如果1个文件的用户超过4个,然后每个人都有不同的需求,那就很难处理。这种情况下,可以使用ACL对单独的用户或组进行设置权限。


比如先切换到root用户,创建一个aa文件


wKiom1SzF2iQQcqLAACAa3pQuXY867.jpg


看看aa默认权限

wKioL1SzGDLyWyPfAAA5Pm99WOA744.jpg


切换回beanxyz 用户,试图修改 aa,失败

wKiom1SzF26AjOiTAACWslkD750968.jpg


原因是beanxyz不属于 root组,other里面只有读的权限

wKioL1SzGDaQVToBAAAlv9jjzmk085.jpg


可以通过getfacl进一步查看文件acl的信息,通过setfacl来设置acl的信息

wKiom1SzF3LwybH0AABZs5t2SxY104.jpg


看看语法,用的比较多的-m 修改,-x删除,-d默认


wKioL1SzGEOByquHAAMjB78k2xY123.jpg



首先看看修改用户的权限,给beanxyz单独指定rw的权限


wKiom1SzF3zSifSpAACK0q4yFPI328.jpg


再试试看,beanxyz就可以修改文件aa了

wKioL1SzGEWzhdPAAABQP_GMYcg252.jpg


如果用ls查看属性,可以发现多了个加号+,表示拥有ACL的权限

wKiom1SzF3-CFBADAAA7xKuXkx4029.jpg


-x可以删除指定的ACL权限,也可以用-b删除所有的ACL权限

wKioL1SzGEfSDxaFAAAomfd0tqI029.jpg


再看个例子,先给beanxyz设置成rwx

wKiom1SzF4Kikk47AADwAWwzn8E558.jpg


然后对之前所有的已经设置过ACL的用户权限,改成只读。如果不输入用户名或者组名,那就代表所有

第二个m代表mask


后面多了个#effective:r--表示尽管beanxyz当前的权限是rwx,但是有效权限是r--

wKioL1SzGEvx4ICFAACVwqc1m3E071.jpg


测试一下,果然没有写权限了

wKiom1SzF4WhbnFgAABYrUtlo-8489.jpg


随便更改一下,mask就无效了

wKioL1SzGE_Q0KfGAACfcgFmch0447.jpg


修改组的方式也类似

wKiom1SzF4rgHiieAACde4JzRZo353.jpg


修改other也一样

wKioL1SzGFTAf7fsAACXcNH_4WU148.jpg


我们还可以设定默认值,比如我设定test目录下所有新创建的文件或者目录都具有以下权限


wKiom1SzF5DwJp-YAAC30ow9UD8620.jpg


测试一下 成功

wKioL1SzGFqju693AACuGJ5PxP0560.jpg


通过-x d 删除默认ACL权限


wKiom1SzF5TiOjUsAABzfsiKRp4241.jpg


之前创建的子目录默认权限不变,但是新创建的就没有这个默认权限了

wKioL1SzGF_DoMl6AAENsRRFKkQ324.jpg


如果想复制ACL权限,可以通过管道和set-file的方式实现

wKioL1SzGGHg56jxAACsKxcPAMA043.jpg


你可能感兴趣的:(acl,rhce,rhel7,rh134)