首页/系统与基础设施/存储速查/文件共享 ACL 继承与传播规则
NAS 与文件共享50 条

文件共享 ACL 继承与传播规则

ACL 继承让新建的子目录与文件自动带上父目录的权限,避免逐层授权。继承条目与显式条目、复制与移动、以及跨文件系统操作对继承的影响各不相同,是权限莫名变化的常见源头。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌​​​‌‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​‌​​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​​‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

继承的两套实现

Windows 的 NTFS 用继承标志描述「这条权限是否向下传播」,并区分是否对文件、对目录生效;Linux 侧则以默认 ACL 承担同样角色——目录上设置默认 ACL 后,在其中新建的子项会带上对应条目。两套机制的目标一致:让权限在设计好的层级上自动展开。区别在于显式设置的条目优先于继承来的条目,而继承链一旦被复制工具或重设操作打断,子目录就可能保留旧权限或退回默认。

基本信息

适用平台Windows NTFS 与 Linux ext4/XFS(含 Samba 与 NFS 共享)
NTFS 查看icacls、资源管理器安全选项卡中的继承标记
POSIX 查看getfacl(d: 前缀为默认 ACL)
NTFS 关键标志(OI) 对象继承、(CI) 容器继承、(IO) 仅继承
POSIX 设置setfacl -d -m g:组:rwx 目录

NTFS 继承标志读法

标志含义典型出现
(OI)文件继承新建文件带上该条目
(CI)目录继承新建子目录带上该条目
(IO)仅继承不生效父目录本身不受该条目约束
显式条目本层直接授权不会被父目录改动覆盖
拒绝条目显式拒绝优先于允许,需重点核对

查看与设置

查看与设置
# Windows:查看含继承标记的完整权限(标志含义见上表)
icacls D:\data
# Windows:用带继承标志的条目向下授权,新子项自动生效
icacls D:\data /grant 'EXAMPLE\dev:(OI)(CI)M' /T /C
# Linux:给目录设置默认 ACL,使新建子项自动继承
getfacl -m g:dev:rwx /srv/data && setfacl -d -m g:dev:rwx /srv/data
getfacl /srv/data              # 输出中 d: 开头的就是默认 ACL

复制与移动对继承的影响

操作源权限是否保留说明
同卷内移动保留对象仍在同一文件系统,ACL 随对象走
跨卷移动按目标目录继承多数实现下按新位置重新继承
复制到新位置按目标目录继承除非显式要求保留权限
用保留权限的工具复制保留需要显式参数,普通复制不带
「新文件权限不对」通常不是权限位错了,而是没有默认 ACL 或继承标志:只在当前目录授权,新建子目录就回到默认。设计共享目录时应先把继承关系定好,再往里放数据,事后补继承会造成一段时间内新旧子项权限不一致。
批量重置继承(例如递归 reset)会同时清掉显式授权条目,正在使用这些权限的账号会立刻失去访问。执行前先导出权限清单,并选择业务低峰窗口。

易错点

  • 只给目录授权而未设默认 ACL 或继承标志:新建子目录权限回退,表现为权限时好时坏
  • 递归重置继承:显式授权条目被一并清除,用户立刻失去访问且难以还原
  • 用普通复制搬运目录:目标端按新位置继承,权限与源端不同
  • 跨卷移动后以为权限跟着走:实际按目标目录重新继承,需重新核对
  • 误加显式拒绝条目:从上层看权限完全正常,用户却无法访问,排查必须逐层查看拒绝项

数据来源与参考

  • 微软 Learn《Access control lists (ACL) 继承与传播》
  • POSIX acl(5) 手册页(IEEE Std 1003.1e 草案)
  • RFC 7530《NFS Version 4 Protocol》ACL 继承

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/acl-inheritance-propagation.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌​​​​‌​‌‌​​​‌‌​‌‌​‌‌​​​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌​‌​​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌​‌​​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌​‌‌‌​​‌‌​​​‌‌​‌‌​​‌​‌​​‌​‌‌​‌​‌‌‌​​​​​‌‌‌​​‌​​‌‌​‌‌‌‌​‌‌‌​​​​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​