我们正在考虑在 Debian (5.0.3) 上为我们的 mac 客户端部署 SMB 家庭,而不是购买四个新的 Xserve。我们已经建立了我们的测试服务器并正常运行。Windows 客户端运行良好,但我们遇到了 OS X(10.6.x 和 10.5.x)问题。由于采用这种方式时会出现一系列其他问题,我们将采用这种方式而不是 Windows 文件服务器。
具体来说,当挂载一个 SMB 共享并打开 unix 扩展并且远程服务器绑定到 AD 时,finder 无法将文件保存在共享上,而是触摸文件然后用 -36 IO 错误轰炸,创建文件夹就可以了。在终端中复制文件表现良好,问题似乎仅限于查找器。
问题出现(我认为)是因为在使用 unix 扩展时会传递远程 UID/GID。OS X 使用自己的 winbind idmap (odsam) 来计算 AD 用户和组的有效 UID/GID,同时我们在服务器上使用rid 映射。因此,发现者选择尊重的所有权不匹配。
OS X 似乎如何处理这个问题是在文件权限级别使用远程 uid 和 gid(见下文),然后设置一个 OS X acl,授予本地 uid/gid 对文件具有适当的权限。我认为 finder 会接触文件(由于 ACL 内核允许),然后检查文件系统权限并因 IO 错误而退出。
在客户端
fc-003353-d:homes2 root# ls -led test/
drwx------+ 2 135978 100513 16384 Feb 3 15:14 test/
0: user:jfrench allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit
1: group:ARTS\domain users …Run Code Online (Sandbox Code Playgroud)