我如何阻止 Samba 写入扩展 ACL?

我如何阻止 Samba 写入扩展 ACL?

是否有任何配置选项可以阻止 Samba 为新创建的文件写入扩展 ACL?我只找到nt acl support但这似乎完全禁用了对权限的支持。我希望 Samba 的行为就像我的文件系统不支持 ACL 一样。

答案1

这个答案并不能真正解决问题,但由于多年来没有人回答任何问题,我将分享我的经验,希望它能对某些人有所帮助。如果我错了,请纠正我。

似乎没有简单的方法可以做到这一点。我说的“简单”是指没有标准配置选项。它可能需要使用选项重新编译 samba --with-acl-support=no,甚至重新编译内核。

我是在通过明确禁用 samba 配置中的每个 acl 和 xattr 选项进行测试后才这么说的。

最简单的解决方案可能是禁用服务器和共享文件系统上的 ACL。但这也不容易。

我确实设法禁用了 XFS 上的 ACL,方法是将分区格式化为mkfs.xfs -m crc=0 /dev/mydev1,然后使用 进行挂载mount -t xfs -o noattr2 /dev/mydev1 /mnt/mymount。但令人惊讶的是,ACL 仍然可以存储!

背后的原因似乎是 2.6 以上的内核已经预编译了 ACL 支持。尝试运行grep -i acl /boot/config-$(uname -r),您会看到很多条目,包括值为“=y”的“CONFIG_CIFS_ACL”,这意味着它们被硬编码到内核中,无法禁用。

因此,要么重新编译 samba 和/或内核,要么像我们一样,学会适应它并最终采用 ACL 策略。

答案2

AFAIU CONFIG_CIFS_* 指的是 CIFS客户在内核中。这与 CIFS 完全不同服务器samba 提供。

相关内容