Linux命令——getfacl、setfacl
简介
ACL是Access Control List的缩写,传统的Linux权限只能针对一个用户、一个群组及非此群组的其他人设置权限而已,无法针对单一用户或个人来设计权限。ACL可以对权限进行更细致的设定。一开始是unix-like操作系统的额外支持项目,近年来ACL几乎已经默认加入在所有常见的Linux文件系统的挂载参数中(ext2/ext3/ext4/xfs等等)。所以,你几乎无须进行任何动作,ACL就可以直接使用。
下图是Kernel加载时的信息
可见,xfs这个文件系统支持ACL
getfacl
选项与参数:
-m :设置后续的 acl 参数给文件使用,不可与 -x 合用;
-x :删除后续的 acl 参数,不可与 -m 合用;
-b :移除“所有的” ACL 设置参数;
-k :移除“默认的” ACL 参数,关于所谓的“默认”参数于后续范例中介绍;
-R :递回设置 acl ,亦即包括次目录都会被设置起来;
-d :设置“默认 acl 参数”的意思!只对目录有效,在该目录新建的数据会引用此默认值
针对特定使用者设置ACL
u:[使用者帐号列表]:[rwx]
针对特定群组设置ACL
g:[群组列表]:[rwx]
设置有效权限(effective permission)
m:[rwx]
mask可以理解为允许的最大权限
ACL权限继承
使用上述方式对目录设置权限时,在该目录下创建子文件,字目录是不会继承父母来ACL权限的。要想做到继承权限,在设置ACL权限的时候必须指定-d参数,即修改修改默认权限。
getfacl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决