0

我有一个安装 smb 共享的 shell 脚本。它在除 10.7.5 之外的每个 OS 版本的所有 Mac 上都能完美运行 有问题的命令很简单:

mount -t smbfs -o nobrowse //test:test@servername/sharename /my/mnt/point

当我在 10.7.5 mac 上尝试此命令时,它会因“管道损坏”或“身份验证失败”错误而失败。但是,它在运行 10.7.4、10.6、10.8 等的 Mac 上运行良好。

任何人都可以在 10.7.5 上成功使用此命令吗?有没有其他方法可以实现这一点,或者解决这个错误发生的确切原因?我的想法不多了!

4

2 回答 2

1

安装不工作的原因有很多。其中一些原因包括:

  • 服务器和客户端之间的时间相差太大
  • mac 上未指定工作组名称
  • 本地主机名使用非拉丁字符
  • mac和服务器之间的加密太严格了

解决时间;设置时间。

当您不使用工作组名称进行连接时,我经常看到损坏的管道/身份验证错误。看起来像的连接字符串通常比没有任何工作组的连接字符串效果更好:

//WORKGROUP;user:50000@192.168.2.1/Share

...假设50000是用户用户的密码,用户应该允许连接。一般来说,你只需要在分号前加一个字符串,它就可以读取任何内容;它只需要在那里。

要解决本地主机名问题,请单击一个界面,选择advanced转到WINS选项卡并确保名称中没有任何外来字符。

如果加密过于严格,您将需要编辑nsmb.conf. 我有一组看起来像的行:

[server1]
minauth=none

对于无法处理加密密码的古老 BSD 服务器。您可以在一个/etc/nsmb.conf~/Library/Preferences/nsmb.conf文件中拥有它。

这可能无法解决您的问题,但它可能会帮助您尝试继续。

不幸的是,说它适用于框 x 而不是框 y 并没有真正帮助,因为它们之间可能存在任意配置差异。

于 2013-04-13T14:21:04.487 回答
1

由于将评论标记为答案的功能请求仍然被拒绝,因此我在此处复制上述解决方案。

感谢您的回复。问题有两个方面:首先,由于某种原因,您无法在 10.7.5 中以 root 身份运行此命令,其次您无法在/Volumes. 奇怪的是,这似乎适用于所有其他操作系统版本。我通过安装我的共享/Volumes然后创建一个指向所需安装点的符号链接来解决这个问题:

mkdir -p /Volumes/share 
sudo -u localadminuser mount -t smbfs -o nobrowse //user:pass@server/share /Volumes/share 
ln -s /Volumes/share /location/that/I/prefer/to/mnt 

我希望这可以帮助某人。不知道为什么 10.7.5 会改变这一点。– BSUK

于 2013-11-05T12:09:34.380 回答