zoukankan      html  css  js  c++  java
  • setfacl 命令的常用用法

    setfacl命令----可以用来细分linux下的文件权限。
    chmod命令----可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限。
    换句话说,setfacl可以更精确的控制权限的分配。
    比如:让某一个用户对某一个文件具有某种权限。
    
    这种独立于传统的u,g,o的rwx权限之外的具体权限设置叫ACL(Access Control List)
    ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。
    如,某一个文件,不让单一的某个用户访问。
    
    setfacl命令可以识别以下的规则格式:
    [d[efault]:] [u[ser]:]uid [:perms] 指定用户的权限,文件所有者的权限(如果uid没有指定)。
    [d[efault]:] g[roup]:gid [:perms] 指定群组的权限,文件所有群组的权限(如果gid未指定)
    [d[efault]:] m[ask][:] [:perms] 有效权限掩码
    [d[efault]:] o[ther] [:perms] 其他的权限 
     
    # getfacl /tengqing/                
    getfacl: Removing leading '/' from absolute path names
    # file: tengqing/                      #文件名为:tengqing
    # owner: root                          #文件拥有者是root
    # group: root                          #文件属组是group
    user::rwx                              #拥有者root的权限
    user:tengqing:rwx                      #用户tengqing权限,通过命令:setfacl -m u:tengqing:rwx tengqing 来可以设定
    group::r-x                             #属组root的权限
    mask::rwx                              #掩码
    other::r-x                             #其它人的权限
    default:user::rwx                      #默认权限,当用户创建文件时,会使用这个权限应用到新创建的文件
    default:user:tengqing:rwx              #用户tengqing的默认权限,通过命令:setfacl -m d:u:tengqing:rwx tengqing 来设定
    default:group::r-x
    default:mask::rwx
    default:other::r
    -x
    # setfacl --version                        #本篇所使用的setfacl版本
    setfacl 2.2.49 
    # tune2fs -l /dev/sda3 | grep option       #查看文件系统是否支持acl权限控制
    Default mount options:    acl  
    开启acl支持有两种方法:
       1)、修改mount选项:
    # mount -o remount,acl /dev/vda3 /mnt/acltest
    # vim /etc/fstab                       #开机自动挂载
    /dev/vda3 /mnt/acltest ext4 defaults,acl 0 0 2)

            2)、使用tune2fs修改文件系统信息:

      tune2fs开启acl后已是永久有效,无需再改fstab的mount选项:
    # tune2fs -o acl /dev/vda3           #修改文件系统自身信息来设置acl选项
    # tune2fs -o ^acl /dev/vda3          #取消acl选项
    
    # setfacl -m u:joe:rx bobdir/        #给某个用户设置权限
    # setfacl -m g:aclgp1:rx bobdir/ #给某个组设置权限
    # setfacl -x g:aclgp1 bobdir/ #取消某项权限

    对于组权限,setfacl设置的权限只对主组(即useradd -g或usermod -g的组)有效,对附加组(即useradd -G或usermod -aG的组)无效,即使文件的所有组已改为附加组。

    setfacl和chmod设置的权限可以相互覆盖,当二者设置的权限不一致时,以使用getfacl看到的“#effective:”后的权限为准。

     

  • 相关阅读:
    django orm中filter(条件1).filter(条件2)与filter(条件1,条件2)的区别 哈欠涟涟的日志 网易博客
    提示:ERROR 1044 (42000): Access denied for user
    取消选中的区域
    1.XML复习、HTML DOM 复习 2.simpleXML方式解析XML 3.XPath 4,MVC
    JSP的内置对象(session)
    每月自评之三:2013年3月
    HDU1405:The Last Practice
    一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:
    一个经典实用的 IPtables Shell 脚本
    static class 静态类
  • 原文地址:https://www.cnblogs.com/reachos/p/8717077.html
Copyright © 2011-2022 走看看