使用ACL实现Linux一个文件夹二个不同的组访问

什么是ACL


  传统的 Linux 权限控制只有三种角色:owner(属主)、group(属组)、others(其他),分别对应文件权限 rwxrwxrwx

  但是在实际中经常会遇到需求:

    ❓ 我想让 某个特定用户或组 能访问这个文件/目录,但我又不想改属主属组,怎么办?

  👉 这时候就需要 ACL —— 它是一种对文件/目录进行 更细粒度权限控制 的机制,允许你为多个用户和组分别设置访问权限。

ACL功能


  1. ACL的使用场景及功能
    场景 传统权限rwx ACL
    让多个组同时访问一个目录
    给某个用户额外权限(不改变属主)
    保持现有属组不变,但让另一个组也能读写
    设置默认权限,让新建文件自动继承

使用ACL


  1. 安装ACL
    apt install -y acl
  2. 设置权限及参数说明
    参数 说明
    -R 递归赋权
    -d 设置默认的acl策略, 即对目录中未来新建的文件/子目录生效
    -m 设置具体的权限, 即g:sysadm:rwx

    setfacl -R -d -m g:sysadm:rwx /etc/ansible
  3. 查看/etc/ansible修改后的权限
    [15:15:39] root@SYS-OPS-CD-0-252:~ # getfacl /etc/ansible/
    getfacl: Removing leading '/' from absolute path names
    # file: etc/ansible/
    # owner: root
    # group: root
    user::rwx
    group::r-x
    group:sysadm:rwx
    mask::rwx
    other::r-x
    default:user::rwx
    default:group::r-x
    default:group:sysadm:rwx
    default:mask::rwx
    default:other::r-x
posted @ 2025-04-14 14:57  MacoPlus  阅读(82)  评论(0)    收藏  举报