为什么自 High Sierra 以来我无法通过 SMB 安装共享

为什么自 High Sierra 以来我无法通过 SMB 安装共享

自从我更新到 High Sierra(直接到 10.13.1)后,我无法再通过 AFP 协议连接我的 iMac 和 MacBook,因此我尝试了 SMB。

打开“smb://user:password@S/Share”::可以工作,但在屏幕上显示 Finder。

另一个问题是我无法选择挂载点的名称。我使用 JAVA 应用程序工作,因此应该使用命令行工作:

mkdir /用户/用户/卷/共享/

/sbin/mount -t smbfs //用户:密码@S/F /用户/用户/卷/共享/

但这给出了:

mount_smbfs:服务器拒绝连接:身份验证错误

我做错了什么或者忘记了什么?提前谢谢。;JOOP!

答案1

当我尝试使用以下命令通过命令行连接时,遇到了同样的错误“mount_smbfs:服务器拒绝连接:身份验证错误”:

mkdir /Volumes/test
mount_smbfs //user@server/test /Volumes/test

但是,我可以通过转到 Mac 服务器的“系统偏好设置 - 共享 - 文件共享 - 选项”来消除错误。然后在“Windows 文件共享”下,单击以启用要用于共享的帐户的安全性较低的密码选项(可选,为此目的创建一个仅共享用户),然后输入该帐户的密码。然后我可以使用上述命令挂载共享。

答案2

我们也遇到了可怕的问题mount_smbfs: server connection failed: No route to host,原来是用户密码中的 # 符号(又称井号、井号、数字符号)导致的!# 符号恰好是该用户密码的最后一个字符。使用其他密码时,不会再出现错误。

一位同事想出了解决方法,以防密码中有特殊字符,可以使用转义符或引号。结果发现密码末尾的一些特殊字符会导致此问题。请参阅https://stackoverflow.com/questions/27026168/escape-special-characters-in-mount-command

具体来说,如果您遇到mount_smbfs: server connection failed: No route to host错误,可能是因为您的密码中没有转义特殊字符(或其他)

因此,密码如下password$#

我们尝试添加单引号:

mount_smbfs '//someusername:somepassword$#@serverurl/shared' /Volumes/shared

而不是这样:

mount_smbfs //someusername:password$#@serverurl/shared /Volumes/shared

但那不起作用!

我们唯一能做的就是对密码进行 URL 编码以转义特殊字符(使用任何有效的方法 -https://www.urlencoder.io/例如,我们使用 python urllib.parse.quote_plus(...) )

mount_smbfs //someusername:password%24%23@serverurl/shared /Volumes/shared

请注意,在 Linux 版本中,使用mount -t cifsmount -t smbfs代替mount_smbfsMac OS 版本。

答案3

解决方式:

在文件共享中,我必须在“选项”下存储所涉及用户的密码。

我不喜欢这个。

答案4

您是否尝试对域进行身份验证?或者当托管远程文件系统的计算机时,您不想使用域属于域的一部分?

就我的情况而言,我的 Mac 不在域中,但托管远程文件系统的计算机在域中。为了强制远程计算机针对本地用户而不是域用户进行身份验证,我必须在域组件中使用关键字“local”:

mount -t smbfs '//local;user:password@S/F' /Volumes/Share

相关内容