Linux的ACL(扩展权限)规划:setfacl、getfacl

ACL是AccessControlList的缩写,用于提供更详细的权限设置,超越了传统的属主、群组和其他人的权限。getfacl和setfacl是管理ACL的命令,分别用于查看和设置文件或目录的ACL。设置ACL可以针对单一用户或用户组进行r、w、x权限控制,并能设置默认权限,影响新创建的文件和目录。
摘要由CSDN通过智能技术生成

目录

什么是ACL与如何支持启动ACL

ACL设置技巧:getfacl、setfacl 

getfacl命令用法

setfacl命令用法

最简单的【u:账号:权限】设置

使用默认权限设置目录未来文件的ACL权限继承


什么是ACL与如何支持启动ACL

ACL是Access Control List的英文缩写,中文译为访问控制列表,主要目的是提供传统的属主、所属群组、其他人的读、写、执行权限之外的详细权限设置。ACL可以直接针对单一用户、单一文件或目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助

ACL主要针对这几个选项来控制权限:

  • 用户(user):可以针对用户来设置权限
  • 用户组(group):可以针对用户组为对象来设置权限
  • 默认属性(umask):还可以针对在该目录下建立新文件/目录时,规范新数据的默认权限

传统的Linux系统只能针对一个用户、一个用户组以及非此用户组的其他人设置权限而已,无法针对单一用户或个人来设置权限,而ACL就是为了解决此问题

ACL原本是UNIX-like操作系统的额外支持选项,但因为近年来Linux系统对权限设置的热烈需求,目前ACL几乎已经默认加入了所有常见的Linux文件系统的挂载参数中(ext2、ext3、ext4、xfs等),如果你不确认自己的系统是否真的支持ACL,可以检查一下内核挂载时显示的信息

ACL设置技巧:getfacl、setfacl 

设置与查看ACL的两个命令:

  • getfacl:获取某个文件/目录的ACL设置选项
  • setfacl:设置某个文件/目录的ACL规范

getfacl命令用法

getfacl filename

选项与参数:

-a:仅显示文件的ACL
-d:仅显示文件的ACL
-e:显示所有的有效权限
-E:显示没有的有效权限
-s:跳过文件,只具有基本条目
-R:递归查询
-L:按照逻辑路径,包括软链接
-P:按照物理路径,不包括软链接
-t,:使用表格输出格式
-n:显示用户的UID和组群的GID
-p:保留路径中开始的根"/"

第一行:说明此文件

第二行:说明此文件的拥有者

第三行:说明此文件的所属组

第四行:使用者列表栏是空,代表文件拥有者的权限

第五行:针对redhat用户的权限设置为rx,与拥有者并不同

第六行:针对文件用户组的权限设置仅有r

第七行:此文件默认的有效权限

第八行 :其他人拥有权限

显示数据前有#的表示这个文件的默认属性,包括文件名、文件拥有者与文件所属用户组。下面出现的user、group、mask、other则是属于不同用户、用户组与有效权限(mask)的设置值

setfacl命令用法

setfacl 【-bkRd】【 {-m | -x}  acl参数 】目标文件名

选项与参数:

-m:设置后续的ACL参数给文件使用,不可与-x合用

-x:删除后续的ACL参数,不可与-m合用

-b:删除【所有的】ACL设置参数

-k:删除【默认的】ACL参数

-R:递归设置ACL,即包括所有子目录都会被设置起来

-d:设置【默认ACL参数】的意思,只对目录有效,在该目录新建的数据会引用此默认值

最简单的【u:账号:权限】设置

设置规范为 【u/g/m:使用者账号/用户组名:rwx】

u:针对用户

g:针对用户组

m:针对有效权限

设置有效权限时,设置规范为 m:rwx 与设置g、u有些不同

有效权限(mask)的意思为规范最大允许范围,所以当mask的权限只有r时,redhat用户权限最大也只有r,x权限并不生效

我们看到的权限与实际权限可能会有点误差,所以我们需要通过getfacl来查看

针对单一用户的设置方式:针对redhat的权限规范rx

设置规范【u:使用者账号:rwx】

 

我们可以发现设置了ACL后,权限部分最后一位由 . 变成了+,且与原本的644权限看起来差异很大 

当设置规范【u:使用者账号:rwx】没有使用者账号时,默认为该文件拥有者

删除全部ACL的属性:

补充:当我们给一个目录设置了ACL后,在此目录内新建的文件或目录都不会继承该目录的ACL设置(新建文件权限最后不是+),但是我们可以使用默认权限来设置目录未来文件的ACL权限继承

使用默认权限设置目录未来文件的ACL权限继承

设置规范【d:[ug]:使用者列表:rwx】

 

此时再建立一个文件看看

 通过这个针对目录来设置的默认ACL权限设置值的选项,我们可以让这些属性继承到子目录下面

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魏大橙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值