zoukankan      html  css  js  c++  java
  • 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 
    
  • 相关阅读:
    Windows命令处理进程
    Linux 文件权限管理
    Linux 用户与用户组管理
    Linux 文件类型及操作
    快速了解必要的网络知识
    SSH免密码登录
    用SSH访问内网主机的方法
    MongoDB与PostgresQL无责任初步测试
    SpringMVC的Action在同一时间里只允许同一个浏览器的单次进入?
    Netty5使用自签证书实现SSL安全连接
  • 原文地址:https://www.cnblogs.com/aubin/p/7237489.html
Copyright © 2011-2022 走看看