我想在使用 ZFS 进行文件存储的 FreeBSD 主机上设置 Samba 域控制器。
当我尝试按照有关设置域控制器samba-tool domain provision
的 Samba Wiki 文章中记录的方式运行时,我收到一条错误消息,告诉我需要启用 POSIX ACL。根据FreeBSD 在 ZFS 上的页面,FreeBSD 上的 ZFS仅支持 NFSv4 样式的 ACL,目前已完全实现,但与 POSIX 样式的 ACL 不兼容。
然后我找到了一个在 FreeBSD 上设置 Samba 域控制器的非官方指南,其中的解决方案是--use-ntvfs
在调用时简单地提供标志samba-tool
,我可以确认它是有效的。但是,根据Samba 上 AD DC 的功能状态,NTVFS 功能已在 2010 年被弃用,看起来并不乐观。
现在我正处于十字路口。我可以想到两种设置此 DC 的方法,即使用--use-ntvfs
或创建卷并使用 UFS 对其进行格式化。但我无法预见这些解决方案的利弊。
使用会有什么后果--use-ntvfs
?它是可以在之后更改的,还是我坚持选择,直到我提供一个全新的域?
如果你不介意这项工作,你可以试试这个: https ://sourceforge.net/projects/libsunacl/
我猜这将涉及一些编译。您可以在此处找到更多信息:https ://wiki.freebsd.org/NFSv4_ACLs
忘记带有 Samba 的 POSIX.1e ACL - 它们只是没有意义,因为 Windows 使用与 POSIX.1e 完全不同的 ACL 模型,并且不可能在两者之间正确转换(这并不能阻止某些人,特别是在 Linux kenrel 社区中,从尝试开始——但由于设计原因,它不能很好地工作)。使用 NFSv4 ACL,它们与 Windows 使用的几乎相同。
至于编译——实际上,Samba 端口和包默认是使用 ACL 支持构建的。只需确保始终设置“aclmode=passthrough”和“aclinherit=passthrough”ZFS 属性;否则继承根本行不通。