我正在 CentOS 7 上使用 ACL,并注意到/
应用 ACL 的分区 ( ) 是通过defaults
选项安装的。
据我所知,ACL 需要acl
在挂载中启用该选项,并且defaults
= rw, suid, dev, exec, auto, nouser, async
。
现在是否defaults
包括acl
,如果是,从哪个发行版本开始?
编辑:刚刚发现 XFS 对 ACL 具有本机支持,并且 XFS 是 CentOS 7 中的标准文件系统,这解释了一切。
acl
编辑 2:但是,我刚刚测试了 ACL 是否在没有显式挂载选项的 ext4 文件系统中得到维护(即使在重新启动后) 。这是为什么?
答案1
对于ext2
//ext3
文件ext4
系统,该defaults
选项的意思是“使用文件系统本身指定的默认挂载选项”,并且可以使用该tune2fs
命令查看和修改那些默认挂载选项。
例如:
tune2fs -l <device containing an ext4 filesystem> | grep "Default mount options"
Default mount options: user_xattr acl
如果您想acl
从默认安装选项中删除,您可以这样做:
tune2fs -o ^acl <device containing an ext4 filesystem>
我认为现代mke2fs
现在acl
在文件系统创建时自动设置默认挂载选项,至少在“企业”Linux 发行版中是这样;然而,这可能在mke2fs
编译时可以调整,并且其他发行版可能做出了不同的选择。
答案2
“默认值”的确切含义因文件系统和内核版本而异。您不能依赖于不包括“acl”的“默认值”,但您也不能依赖于包含它。
如果您想确定,则必须明确指定。
从man mount
:
defaults
(...) Note that the real set of the all default mount options depends on
kernel and filesystem type. See the begin of this section for more details.