什么是ACL
ACL是Access Control List的缩写,主要目的是提供传统的owner、group、others的read、write、execute权限之外的具体权限设置
ACL可以针对单一用户、单一文件或者目录进行r、w、x的权限设置,对需要特殊权限的使用状况非常有帮助。
ACL主要针对哪些方面来控制权限:
- 用户(user):针对用户设置权限;
- 用户组(group):针对用户组来设置权限;
- 默认权限(mask):还可以在该目录下咋新建文件/目录时设置新数据的默认权限。
如何启动ACL
由于ACL是传统的UNIX-like操作系统权限额外支持项目,因此要使用ACL必须要有文件系统的支持才行。查看你的文件系统是否支持ACL
可以这样看:
如果系统默认不会加上acl,可以这样操作:
查看文件/目录ACL设置:getfacl
设置文件/目录ACL:setfacl
上述操作为最简单的ACL设置,利用“u:用户:权限”的方式来设置。一个文件设置了ACL参数后,它的权限部分就会多出一个+号。但是
此时你看到的权限与实际权限可能有些误差,那如何查看呢?
显示的数据前加上#的,代表这个文件的默认属性,下面的user、mask、other是属于不同用户、用户组与有效权限的设置。
mask是什么意思呢,它有点像是“有效权限”的意思。他的意思是用户或组所设置的权限必须存在于mask的权限设置范围内
才会生效,此即有效权限。
vbird1与mask的集合发现仅有r存在,因此vbird1仅具有r的权限而已。不存在x权限,这就是mask的功能。我们可以通过mask来规定
最大允许的权限,就能够避免不小心开放某些权限给其他用户或者用户组了。