是否有任何配置选项可以阻止 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 提供。