Linux就该这么学——文件访问控制列表
引言
在学习文件访问控制列表这一章节之前,我们首先回顾一下,原来学习的《Linux就该这么学——文件权限与归属》、《Linux就该这么学——文件的特殊权限》和《Linux就该这么学——文件的隐藏属性》三篇随笔中讲的一般权限/特殊权限/隐藏权限.其实它们都有一个共性,那就是针对某一类用户设置的.继续接着引言中的说,若要对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)
初识ACL
就是基于普通文件或者目录设置ACL其实就是针对指定的用户或用户组设置文件或目录的操作权限, 另外,如果针对某个目录设置了 ACL,则目录中的文件会继承其 ACL;若针对文件设置了 ACL,则文件不再继承其所在目录的 ACL
例子 :
为了更直观地看到 ACL 对文件权限控制的强大效果,我们先切换到普通用户,然后 尝试进入 root 管理员的家目录中。在没有针对普通用户对 root 管理员的家目录设置 ACL 之前,其执行结果如下所示:
初识setfacl命令
命令 : setfacl [参数] 文件名称
作用 : 用于管理文件的ACL规则, 文件的ACL提供的是在所有者、所属组、其他人的读/写/执行权限之外的特殊权限控制,使用 setfacl 命令可以针对单一用户或用户组、单一文件或目录来进行读/写/执行权限的控制。其中,针对目录文件需要使用-R 递归参数;针对普通文件则使用-m 参数;如果想要删除某个文件的 ACL,则可以使用-b 参数。
例子1 设置用户在/root目录的权限
例子2 怎样查看已经设置了ACL的文件或者文件夹
常用的 ls 命令是看不到 ACL 表信息的,但是却可以看到文件的权限后一个点(.)变 成了加号(+),这就意味着该文件已经设置了ACL了。现在大家是不是感觉学得越多,越不敢说自己精通Linux系统了吧?就这么一个不起眼的点(.),竟然还表示这么一种重要的权限。
初识getfacl命令
命令 : getfacl 文件名称
作用 : 用于显示文件上设置的ACL信息
例子1 查看/root文件夹的ACL信息
小结一下
命令 |
不同点 |
相同点 |
备注 |
setfacl |
用于设置ACL命令 |
都是对文件控制访问的管理 |
|
getfacl |
查看ACL信息 |