AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 109879
Accepted
Frenchie
Frenchie
Asked: 2010-02-05 20:20:44 +0800 CST2010-02-05 20:20:44 +0800 CST 2010-02-05 20:20:44 +0800 CST

OS X:在绑定到 AD 的 Samba 服务器上使用 SMB 共享时,Finder 错误 -36

  • 772

我们正在考虑在 Debian (5.0.3) 上为我们的 mac 客户端部署 SMB 家庭,而不是购买四个新的 Xserve。我们的测试服务器已构建并正常运行。Windows 客户端表现完美,但我们遇到了 OS X(10.6.x 和 10.5.x)的问题。由于采用这种方式时会出现一大堆其他问题,我们将采用这条路线而不是 Windows 文件服务器。

具体来说,在打开 unix 扩展并且远程服务器绑定到 AD 的情况下挂载 SMB 共享时,finder 无法将文件保存在共享上,而是触摸文件然后以 -36 IO 错误轰炸,文件夹创建很好。在终端中复制文件表现良好,问题似乎仅限于查找器。

问题出现了(我认为),因为在使用 unix 扩展时会传递远程 UID/GID。OS X 使用自己的 winbind idmap (odsam) 从 AD 用户和组中计算出有效的 UID/GID,而我们在服务器上使用了一个rid map。因此,发现者选择履行的所有权不匹配。

OS X 似乎如何处理这个问题是在文件权限级别使用远程 uid 和 gid(见下文),然后设置一个 OS X acl 授予本地 uid/gid 以对文件具有适当的权限。我认为查找器会触摸文件(由于 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 allow 
 2: group:everyone allow 
 3: group:owner allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit,only_inherit
 4: group:group allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit,only_inherit
 5: group:everyone allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit,only_inherit

我们尝试了以下方法,但没有任何运气:

  • 设置 Linux 端文件所有者以匹配 OS X GID/UID
  • 在授予 OS X GID/UID 权限的 linux 文件系统上添加 ACL
  • 禁用扩展属性
  • 在客户端的 /etc/nsmb.conf 中设置 steams=no

我们目前正在运行一种解决方法,即关闭 unix 扩展,这会强制 mac 仅以本地用户身份安装共享,并具有 u=rwx 权限。这适用于大多数事情,但会导致一些期望某些烫发以微妙方式破坏的应用程序。最坏的情况是我们将继续以这种方式运行,但我们希望启用 unix 扩展。

问候。


相关 SMB 配置如下:

[global]
        workgroup = ARTS
        realm = *snip*
        security = ADS
        password server = *snip*
        unix extensions = yes
        panic action = /usr/share/panic-action %d
        idmap backend = rid:ARTS=100000-10000000
        idmap uid = 100000-10000000
        idmap gid = 100000-10000000
        winbind enum users = Yes
        winbind enum groups = Yes
        veto files = /lost+found/aquota.*/
        hide files = /desktop.ini/$RECYCLE.BIN/.*/AppData/Library/
        ea support = yes
        store dos attributes = yes
        map system = no
        map archive = no
        map readonly = no
mac-osx finder samba winbind
  • 6 6 个回答
  • 4333 Views

6 个回答

  • Voted
  1. tegbains
    2010-02-06T09:54:21+08:002010-02-06T09:54:21+08:00

    您可能需要查看命名流设置。苹果有一篇文章。“Mac OS X v10.5、v10.6:关于安装在 SMB 的 NAS、Mac OS X 和 Windows 服务器上的命名流;可能会出现“-36”或“-50”警报”

    • 1
  2. Mark Glossop
    2010-02-08T23:03:08+08:002010-02-08T23:03:08+08:00

    Apple 的另一篇文章TS1564引用了 10.3/10.4 中的较早问题,并在 SMB 共享中产生错误 -36。

    显然它与明文与加密身份验证有关……还有什么要考虑的吗?

    干杯,M。

    • 1
  3. Best Answer
    Brandon
    2010-03-11T09:42:23+08:002010-03-11T09:42:23+08:00

    该问题可能是由于 Finder 在将资源分叉作为扩展属性处理的方式中存在错误。

    我会尝试:

    EA支持=否

    这可能会导致 ._ 文件,但在 Apple 足够关心他们的文件管理器可互操作之前,这是您必须处理的。

    编辑:我刚刚注意到你确实尝试禁用它们。那是我遇到所有 Finder 问题的地方。经过一些简短的搜索后,似乎关闭 unix 扩展是唯一报告的修复。

    • 1
  4. der Flo
    2010-04-17T02:24:51+08:002010-04-17T02:24:51+08:00

    你可以试试:unix extensions = no

    • 1
  5. theduke
    2011-01-06T02:37:30+08:002011-01-06T02:37:30+08:00

    澄清一下:您的解决方法是在客户端的 /etc/smb.conf 中设置 unix extensions = no,对吗?

    因为我试过了,但我仍然收到 36 错误。

    • 0
  6. tokenizer_fsj
    2016-11-28T20:56:50+08:002016-11-28T20:56:50+08:00

    我自己也遇到了这个问题,并在http://osxdaily.com/2015/02/21/fix-error-code-36-finder-mac-os-x/上找到了一个更简单的解决方案。

    在您的 Mac 上,打开终端并dot_clean针对下载文件的目标文件夹运行。

    例如,我将所有文件下载到~/Downloads文件夹中,因此我运行:

    dot_clean ~/Downloads

    之后重新尝试下载成功。

    • 0

相关问题

  • Mac OS X:从 python 脚本中更改 $PATH

  • 登录网络用户帐户 (Open Directory) 时,Adobe Reader 不会启动

  • 如何在客户端计算机上阻止 Finder 的“记住此密码”?

  • 如何在 Mac OS X 中正确安装 Subversion?

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve