Linux — 权限管理ACL

一、简介和开启

ACL主要解决所有者、所属主、其他人,权限不满足的情况下,产生的控制;

在使用ACL之前,需要查看分区ACL权限是否开启

执行命令:dumpe2fs -h /dev/sda3

       dumpe2fs 命令是查询指定分区详细文件系统信息的命令

       选项: -h 仅显示超级块中信息,而不显示磁盘块组的详细信息

执行结果:

    

临时开启分区ACL权限,重启系统失效

mount -o remount, acl/
复制代码

    重新挂在根分区,并加入acl权限

永久开启分区ACL权限

    vi /etc/fstab  (开机自动挂载文件,在根分区后面的defaults 增加,acl)

    在UUID=xxxx  /  ext4 defaults,acl

    修改完之后,重启或者重新挂载文件,mount -o remount /,使其生效

二、查看和设定ACL权限

    查看ACL权限

    语法:getfacle 文件名,查看acl权限

    设置ACL权限

    语法:setfacl [选项] 文件名

    选项: -m            设定ACL权限

               -x              删除指定的ACL权限

               -b              删除所有的ACL权限

               -d              设置默认ACL权限

               -k              删除默认的ACL权限

               -R              递归设定ACL权限

模拟一个开发场景,在/var下新建www文件夹(权限为770),所属主权限rwx,所属组设置为php组,组名为phpproject,权限为rwx,其他人没有权限。

特殊需求,新增一个前端用户web1,权限为r-x。

cd /var
mkdir www

新建组
groupadd phpproject

新建2个用户,phper1,phper2
useradd phper1
useradd phper2

将2个用户移到phpproject组中
gpasswd -a phper1 phpproject
gpasswd -a phper2 phpproject

设置www文件夹权限为770

新增一个web1用户
useradd web1

给web1用户设置acl权限,给web1用户赋予r-x权限,使用“u:用户名:权限”格式,如果是组,是用g:组名:权限
setfacl -m u:web1L:rx www

复制代码

设置完的效果,后面有个+

查看www目录,acl权限


给用户组设定ACL权限

语法:setfacl -m g:组名:权限(rwx) 文件名

使用:g:组名:权限 格式


三、最大有效权限mask和删除ACL权限

最大有效权限mask


mask用来指定最大有效权限,如果我给用户赋予了ACL权限,用户真正的权限是需要和mask权限“相与”的,理解为交集

修改最大有效权限

setfacl -m m:rx   文件名

解释:设定mask权限,使用m:权限的格式

删除ACL权限

删除指定用户的acl权限

    语法:setfacl -x u:用户名  文件名

删除指定用户组的acl权限

    语法:setfacl -x g:组名 文件名

删除文件的所有ACL权限,删除用户和用户组

    语法:setfacl -b 文件夹

    

四、默认ACL权限和递归ACL权限

    递归ACL权限

     语法:setfacl -m u:用户名:权限 -R 文件名

    默认ACL权限

    如果在父目录设置了默认的ACL权限,新建子文件都会继承该ACL权限

    语法:setfacl -m d:u:用户名:权限   文件名


         

 





转载于:https://juejin.im/post/5bb9fb24e51d450e64762431

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值