zoukankan      html  css  js  c++  java
  • setfacl 设置文件访问控制列表

    setfacl 设置文件访问控制列表

    用法:

    setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...

    参数:

      -m, --modify=acl       更改文件的访问控制列表
      -M, --modify-file=file    从文件读取访问控制列表条目更改
      -x, --remove=acl       根据文件中访问控制列表移除条目
      -X, --remove-file=file    从文件读取访问控制列表条目并删除
      -b, --remove-all           删除所有扩展访问控制列表条目
      -k, --remove-default       移除默认访问控制列表
          --set=acl              设定替换当前的文件访问控制列表
          --set-file=file        从文件中读取访问控制列表条目设定
          --mask            重新计算有效权限掩码
      -n, --no-mask         不重新计算有效权限掩码
      -d, --default         应用到默认访问控制列表的操作
      -R, --recursive         递归操作子目录
      -L, --logical         依照系统逻辑,跟随符号链接
      -P, --physical         依照自然逻辑,不跟随符号链接
          --restore=file       恢复访问控制列表,和“getfacl -R”作用相反
          --test            测试模式,并不真正修改访问控制列表属性
      -v, --version              显示版本并退出
      -h, --help                 显示本帮助信息

    案例1:

    [root@localhost ~]# getfacl test
    # file: test
    # owner: root
    # group: root
    user::r-x
    user:tank:rwx                   #effective:---
    group::r-x                      #effective:---
    mask::---
    other::---
    
    [root@localhost ~]# setfacl -m u:zhangy:rw- test    #修改文件的acl权限,添加一个用户权限
    [root@localhost ~]# getfacl test
    # file: test
    # owner: root
    # group: root
    user::r-x
    user:zhangy:rw-                       #多出来一个用户
    user:tank:rwx
    group::r-x
    mask::rwx
    other::---
    
    [root@localhost ~]# setfacl -m g:zhangying:r-w test      #添加一个组
    [root@localhost ~]# getfacl test
    # file: test
    # owner: root
    # group: root
    user::r-x
    user:zhangy:rw-
    user:tank:rwx
    group::r-x
    group:zhangying:rw-
    mask::rwx
    other::---
    赋值添加用户组权限

    案例2:

    [root@localhost ~]# getfacl test     #查看acl
    # file: test
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r--
    
    [root@localhost ~]# setfacl -m u:tank:rx test   #给tank用户向test文件增加读和执行的acl规则
    [root@localhost ~]# getfacl test    #查看acl
    # file: test
    # owner: root
    # group: root
    user::rw-
    user:tank:r-x      #已加入
    group::r--
    mask::r-x
    other::r--
    
    [root@localhost ~]# setfacl -m u::rwx test   #设置默认用户,读,写,可执行
    [root@localhost ~]# getfacl test
    # file: test
    # owner: root
    # group: root
    user::rwx
    user:tank:r-x
    group::r--
    mask::r-x
    other::r--
    
    [root@localhost ~]# setfacl -b test     #清除所有acl
    [root@localhost ~]# getfacl test 
    # file: test
    # owner: root
    # group: root
    user::rwx
    group::r--
    other::r--
    
    [root@localhost ~]# setfacl -m u:tank:rx test      #给tank用户向test文件增加读和执行的acl规则
    [root@localhost ~]# setfacl -m u:testtank:rx test  #给testtank用户向test文件增加读和执行的acl规则
    [root@localhost ~]# getfacl test
    # file: test
    # owner: root
    # group: root
    user::rwx
    user:testtank:r-x
    user:tank:r-x
    group::r--
    mask::r-x
    other::r--
    
    [root@localhost ~]# setfacl -x u:tank test    #清除tank用户,对test文件acl规则
    [root@localhost ~]# getfacl test
    # file: test
    # owner: root
    # group: root
    user::rwx
    user:testtank:r-x
    group::r--
    mask::r-x
    other::r--
    案例2

    设置组的话只需要把setfacl -m u::rwx 中的u改为g即可,大致差不多。

    设置mask的话,setfacl -m u::rwx 中的u改为m,并且这个可不针对用户和组哦,其他的大致差不多。

    在使用-R时,记得放在-m前面,否则不可以地

    使用-d的话,就会把默认的都加上去,针对目录哦。

  • 相关阅读:
    老鸟的Python新手教程
    vs2010经常使用快捷键
    SQL基础--> 约束(CONSTRAINT)
    哈哈,做题了
    【网络协议】TCP中的四大定时器
    JAVA反射机制
    JUnit入门
    怎样将程序猿写出来的程序打包成安装包(最简单的)
    事件传递机制总结
    理解class.forName()
  • 原文地址:https://www.cnblogs.com/xiangsikai/p/10701101.html
Copyright © 2011-2022 走看看