ACL

①ACL:Access Control List,实现灵活的权限管理;除了文件的所有者,所属组和其它人,可以对更多的用户设置权限。

          CentOS7 默认创建的xfs 和ext4 文件系统具有ACL 功能

          CentOS7 之前版本,默认手工创建的ext4 文件系统无ACL功能, 需手动增加

eg:


②如何使用ACL

使用setfacl命令(set file acl)可以设置acl.

eg:


使用getfacl可以查看文件的acl设置情况

eg:


值得注意的是,在acl中也有先后的匹配问题:

eg:



该试验表明ACL的生效顺序为:所有者,自定义用户,自定义组,其他人。


一些常用的acl命令:

setfacl -m u:wang:rwx file|directory    

setfacl -Rm g:sales:rwX directory    

setfacl -M file.acl file|directory

setfacl -m g:salesgroup:rw file| directory

setfacl -m d:u:wang:rx directory

setfacl -x u:wang file |directory

setfacl -X file.acl directory

setfacl -k dir       删除默认ACL 权限

setfacl –b file1          清除所有ACL 权限

getfacl file1 | setfacl --set-file=- file2        复制file1

mask:

设置了acl权限之后,所属组的权限变成了mask的权限,mask表示了最高权限。(相当于定义了一个高压线)

mask只影响除所有者和other的之外的人和组的最大权限Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限。用户或组的设置必须存在于mask权限设定范围内才会生效

setfacl-m mask::rx file

--set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以

eg:

setfacl --set u::rw,u:wang:rw,g::r,o::-file1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容