ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文件特殊权限-ACL权限

2021-03-09 19:01:36  阅读:203  来源: 互联网

标签:ACL 文件 mask 默认 acl 权限 目录


ACL权限:
ACL(access control list)访问控制列表,可以对单一的用户或者组设置对文件或目录的独立rwx权限。
1.开启ACL权限
由于ACL是传统的Unix-like操作系统权限的额外支持项目,因此要使用ACL必须要有文件系统的支持才行。目前绝大部分的文件系统都支持ACL的功能,包括EXT3/EXT4,JFS,XFS 等。
ext系列---文件系统查询命令格式:dumpe2fs -h 分区设备名称

Default mount options; 缺省(默认)挂载选项
假如没有开启ACL权限,手动开启分区ACL权限。 mount -o remount ,acl 分区(e.g. /或/boot等)

此命令执行后是临时让/分区有ACL权限,重启后失效。若永久开启ACL需要修改配置文件/etc/fstab文件:

xfs文件系统--dmesg | grep -I "acl"
xfs文件系统是centos7中默认使用的文件系统(旧版本通常为ext系列),XFS文件系统默认开启ACL权限。

因为是不同的文件系统,所以查询的方式也并不相同: dmesg | grep -I "acl"
#在返回信息中:

第一条说明了:系统在219运行系统模式,其中就包含了ACL。
第二条说明了:具有ACL、安全属性、没有启用调试的SGI XFS。
2.ACL权限的使用
描述:设置访问控制列表。
用法:setfacl 【选项】 {-m|-x} {u:username:rwx} 文件或目录
选项:
-b 删除所有ACL条目 -m 添加ACL条目
-x 删除指定用户的ACL权限 -k :清除指定目录的默认ACL权限
-R 对目录设置ACL权限时,一并将ACL权限递归到所有已存在的子文件上
-d 对目录设置默认ACL权限,该权限不对目录生效,仅对在目录下新建的子文件生效
注意:在具有默认ACL权限的目录下创建新目录时,新目录不仅继承ACL权限,还会继承默认权限
在ACL权限里可以添加-R选项来递归设置ACL权限,具体格式是: setfacl -R -m u:user:rwx aa
mask:在ACL权限里还有mask的相关设置,可以把mask理解为有效权限。它的意思就是用户或组的权限必须要存在于mask的权限设置范围内才能生效。
下面请看实例:

#(给u1用户在/kk/目录赋予rwx的ACL权限)

#(为test目录设置mask为r可读。再次查看发现ACL权限出现了变化。user1的ACL权限在加上mask之后只有r权限。)
注:为/test/添加默认最大权限(mask)为r,其他ACL权限不得超出此权限。但mask的设置必须遵循最后设置原则,其他ACL权限设置完成后最后设置mask默认ACL才能正常生效。在生产环境中我们通常将mask默认设置成rwx,然后针对不同的用户和用户组规定他们权限。
默认ACL权限:只能设置到目录上
setfacl -dm u:username:rwx filename 或
setfacl -m d:g:groupname:rwx filename
1.在有默认权限的目录下创建新文件&新目录时,新创建的文件会继承目录上的权限
2.默认ACL只是为了让目录将该ACL权限传递给后续子文件,但不对当前目录本身生效
3.在有默认权限的目录下新建子目录时,子目录除了会继承基本的ACL权限之外,还会继承默认ACL权限
mask生效的机制:基础权限的优先级大于acl权限
1.若给了文件所属组较大权限,则mask会跟随所属组权限,即便后续设置了新的基础acl权限,mask也不会被改变{基础权限的优先级大于acl权限}
2.设置新的acl权限时,acl权限小于组权限时,acl权限的mask不会跟随acl设置;当acl权限大于组权限时,acl的mask就会跟随acl权限生效
3.mask最后可以使用手动设置的方式进行最终修改
注:当文件设置了ACL权限之后,改文件所属组位置上所显示的不再是所属组权限,显示的是mask的权限

标签:ACL,文件,mask,默认,acl,权限,目录
来源: https://www.cnblogs.com/spfrank/p/14507440.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有