• ACL访问控制列表


    • acl是基于文件系统的,所以支不支持acl在于使用什么文件系统。
      FAT32文件系统不支持权限,也不区分大小写

    • 如果一个分区不是安装系统时分的分区,是一个新的分区的话,默认是不支持acl

    CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加

    tune2fs –o acl /dev/sdb1
    mount –o acl /dev/sdb1 /mnt/test
    
    • CentOS7 默认创建的xfs和ext4文件系统具有ACL功能

    ACL生效的顺序

    • 顺序:所有者------->自定义用户------->自定义组------->其他人
    [root@centos7 aubin]# getfacl file 
    # file: file
    # owner: root
    # group: root
    user::rw-                                    #所有者
    user:aubin:-w-                               #自定义用户
    group::r--                                   #冒号中间为空,指的是所属组
    group:aubin:---                              #自定义组
    mask::rw-
    other::r--
    
    • 权限的最后一位变成 + 这里设置了acl
    [root@centos7 app]# ls -al
    -rw-r--r--+  1 root root    8 Jul 25 09:54 file
    
    • ACL写权限
    • acl只给用户写权限,不给读权限。那么用户无法查看文件内容。
      用户可以追加,但是直接编辑会覆盖
    [root@centos7 app]# setfacl -m u:aubin:w file 
    

    acl的设置与查看

    • acl的设置与删除
    #设置用户的acl权限
    [root@centos7 aubin]# setfacl -m u:aubin:rw fstab 
    #设置组的acl权限
    [root@centos7 aubin]# setfacl -m g:root:rx fstab
    [root@centos7 aubin]# getfacl fstab 
    # file: fstab
    # owner: aubin
    # group: aubin
    user::---
    user:aubin:rw-
    group::rw-
    group:root:r-x
    mask::rwx
    other::---
    #
    #删除指定的acl权限
    [root@centos7 aubin]# setfacl -x g:root fstab 
    

    acl的递归

    • acl的复制与清除
    #复制文件的acl权限
    [root@centos7 aubin]# getfacl fstab | setfacl --set-file=- file 
    #清除acl的默认
    [root@centos7 aubin]# setfacl -k fstab 
    #删除所有的acl权限
    [root@centos7 aubin]# setfacl -b fstab
    

    acl的备份与恢复

    主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息

    #将acl信息重定向到acl.bak
    [root@centos7 aubin]# getfacl -R fstab > ./acl.bak         
    [root@centos7 aubin]# cat acl.bak 
    # file: fstab
    # owner: aubin
    # group: aubin
    user::---
    user:aubin:rw-
    group::rw-
    mask::rw-
    other::---
    #清除文件或文件夹的acl规则
    [root@centos7 aubin]# setfacl -R -b fstab 
    #恢复
    [root@centos7 aubin]# setfacl -R --set-file=acl.bak /app/aubin/fstab 
    
  • 相关阅读:
    第十三章 类继承
    第十一章 使用类
    第十章 对象和类
    第九章 内存模型和名称空间
    第八章 函数幽探
    史上最详细得虚拟机安装过程,傻瓜式操作
    JVM内存结构图表展示
    主流消息队列rocketMq,rabbitMq比对使用
    springboot+druid+mybatis plus的多数据源配置
    linux服务器开放防火墙和端口,以及查询状态
  • 原文地址:https://www.cnblogs.com/aubin/p/7237489.html
Copyright © 2020-2023  润新知