首页 > 代码库 > FACL的使用

FACL的使用

ACL的使用

    ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。

ACL使用两个命令来对其进行控制

    getfacl:取得某个文件/目录的ACL设置项目
    setfacl:设置某个文件/目录的ACL设置项目

 

setfacl 参数
  -m:设置后续acl参数 
  -x:删除后续acl参数  
  -b:删除全部的acl参数
  -k:删除默认的acl参数
  -R:递归设置acl,包括子目录
  -d:设置默认acl 是让子目录继承父目录权限

例:创建一文件test,将其权限修改为777,并查看其默认ACL权限配置
   

 [root@ www.linuxidc.com ~]# touch /test    [root@ www.linuxidc.com ~]# chmod 777 /test    [root@ www.linuxidc.com ~]# getfacl /test            //获得文件的ACL权限    getfacl: Removing leading / from absolute path names    # file: test                                //文件名    # owner: root                            //文件所属者    # group: root                            //文件所属组    user::rwx                                //文件所属者权限    group::rwx                              //同组用户权限    other::rwx                              //其它者权限

 

如果用户soft 想对test目录有读写权限,一种是将soft用户加入wdj组中。另一种是将other权限改为rw
如果想让此目录下的文件或目录继承父目录权限,则每次要chmod -R ....一下


现在可以使用setfacl解决以上问题

#setfacl -R -m u:soft:rwx test 

 

这样soft用户就可以操作test目录

setfacl -d --set u:soft:rwx  test

-d是让子目录继承父目录权限




使用getfacl命令查看acl权限

[soft@node2 data]$ getfacl test# file: test# owner: wdj# group: wdjuser::rwxuser:soft:rwxgroup::rwxmask::rwxother::---default:user::rwxdefault:user:soft:rwxdefault:group::rwxdefault:mask::rwxdefault:other::---

 

setfacl -x u:soft  test

去掉单个用户的权限

 

setfacl -b test

删除test目录的所以acl权限

FACL的使用