ACL时Access Control List的缩写,主要用于提供传统的owner、group、others的read、execute权限之外进行细部权限设置。ACL可以针对单一用户、单一文件或目录来进行r、w、x的权限设置。

注:由于ACL是传统的Unix-Like操作系统权限的额外支持项目,因此要使用ACL就需要有文件系统。 

ACL主要可以针对用户(user)、群组(group)、默认属性(mask)来设置权限。

  用户:针对用户来设置权限

  群组:一群组为对象来设置其权限

  默认属性:在目录下在建立新文件/目录是,设置新数据的默认权限。

# mount -o remount,acl /home    #启动ACL并让/home支持ACL

# mount | grep /home            #查看命令是否已生效

 /dev/sda3 on /home type ext3 (rw,acl)  #如果出现此条目则设置成功

如果希望开机系统就支持ACL则需要修改/etc/fstab

# vim /etc/fstab

/dev/sda3  /home  ext3  defaults,acl  1 2

设置ACL:

  getfacl:取得某个文件/目录的ACL的权限。

  setfacl:设置某个文件/目录的ACL的权限。

setfacel [-mxdb]

   -m,设置一个ACL的权限;

   -x,取消一个ACL的权限;

   -b 全部的ACL权限都移除;

   -d 设置默认的ACL权限,仅能针对目录使用;

ACL针对用户、群组与默认权限设置方法:

  setfacl -m u:dmtsai:rx somefilename  #针对用户

  setfacl -m g:users:rw somefilename   #针对群组

  setfacl -m m:rwx somefilename        #针对默认权限来设置

 getfacl somefilename                  #产看权限

 file :somefilename               #说明文件

 owner:root                    #说明此文件的所有者,即ll看到的第三用户字段

 group:root                    #此文件的所属用户组,即ll看到的第四用户字段

 user::rwx                     #用户列表栏是空的,代表用户所有者权限

 user:vbird1:r-x               #针对vbird1的权限设置为rx,与所有者并不同

 group::r--                    #针对文件用户组的权限设置仅有r

 mask::r-x                     此文件默认的有效权限(mask)

 other::r--                    其他人拥有的权限