使用ACL实现Linux一个文件夹二个不同的组访问
什么是ACL
传统的 Linux 权限控制只有三种角色:owner(属主)、group(属组)、others(其他),分别对应文件权限 rwxrwxrwx。
但是在实际中经常会遇到需求:
❓ 我想让 某个特定用户或组 能访问这个文件/目录,但我又不想改属主属组,怎么办?
👉 这时候就需要 ACL —— 它是一种对文件/目录进行 更细粒度权限控制 的机制,允许你为多个用户和组分别设置访问权限。
ACL功能
- ACL的使用场景及功能
场景 传统权限rwx ACL 让多个组同时访问一个目录 ❌ ✅ 给某个用户额外权限(不改变属主) ❌ ✅ 保持现有属组不变,但让另一个组也能读写 ❌ ✅ 设置默认权限,让新建文件自动继承 ❌ ✅
使用ACL
- 安装ACL
apt install -y acl - 设置权限及参数说明
参数 说明 -R 递归赋权 -d 设置默认的acl策略, 即对目录中未来新建的文件/子目录生效 -m 设置具体的权限, 即g:sysadm:rwx
setfacl -R -d -m g:sysadm:rwx /etc/ansible - 查看/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

浙公网安备 33010602011771号