ACL权限设置

Posted ericz2j

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACL权限设置相关的知识,希望对你有一定的参考价值。

(整理自《鸟哥的Linux私房菜》基础篇)

 

1.什么是 ACL

ACL 是 Access Control List 的缩写,主要的目的是在提供传统的 owner,group,others 的

read,write,execute 权限之外的细部权限设定。ACL 可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范,对于需要特殊权限的使用状况非常有帮助。

那 ACL 主要可以针对哪些方面来控制权限呢?他主要可以针对几个项目:

•        使用者 (user):可以针对使用者来设定权限;

•        群组 (group):针对群组为对象来设定其权限;

•        默认属性 (mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的默认权限;

也就是说,如果你有一个目录,需要给一堆人使用,每个人或每个群组所需要的权限并不相同时,在过去,传统的 Linux 三种身份的三种权限是无法达到的, 因为基本上,传统的 Linux 权限只能针对一个用户、一个群组及非此群组的其他人设定权限而已,无法针对单一用户或个人来设计权限。 而 ACL 就是为了要改变这个问题。

 

2.查看是否支持(启动)ACL?

 技术图片

 

 

3.ACL 的设定: getfacl, setfacl

  • · getfacl:取得某个文件/目录的 ACL 设定项目;
  • · setfacl:设定某个目录/文件的 ACL 规范。

 3.1   getfacl 指令用法

 技术图片

 

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

3.2 针对单一使用者的设定方式 u:账号:权限』设定

用法:

技术图片

 

  3.3 特定的单一群组的权限设定:『 g:群组名:权限 』

用法使用:

 技术图片

 

 3.4   针对有效权限设定:『 m:权限 』

什么是有限权限?其实就是结果中的umask字段,他的意义是使用者或群组所设定的权限必须要存在于 mask 的权限设定范围内才会生效。

举个例子,如下所示:

 技术图片

 

 下面给出一个例题,解决Linux账号管理中的最后留下的那个问题

 技术图片

 

 接下来让我们来测试一下,如果我用 root 或者是 pro1 的身份去 /srv/projecta 增加文件或目录时,该文件或目录是否能够具有 ACL的设定? 意思就是说,ACL 的权限设定是否能够被次目录所继承?先试看看:

 技术图片

 

 你可以明显的发现,权限后面都没有 + ,代表这个 acl 属性并没有继承。

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

d:[u|g]:[user|group]:权限 』

 技术图片

 

 通过这个『针对目录来设定的默认 ACL 权限设定值』的项目,我们可以让这些属性继承到次目录底下。

如果想要让 ACL 的属性全部消失又要如何处理?透过『 setfacl -b 文件名 』即可。

以上是关于ACL权限设置的主要内容,如果未能解决你的问题,请参考以下文章

ZooKeeper设置ACL权限控制,删除权限

Linux ACL权限设置

linux ACL权限

ACL权限设置

ACL权限

ACL权限设置命令setfacl