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: wdj
user::rwx
user:soft:rwx
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:soft:rwx
default:group::rwx
default:mask::rwx
default:other::---

 

setfacl -x u:soft  test

去掉单个用户的权限

 

setfacl -b test

删除test目录的所以acl权限

posted @ 2014-11-17 15:30  mjorcen  阅读(485)  评论(0编辑  收藏  举报