如果您无法装载由绑定到 Open Directory 的 Mac 所托管的 SMB 共享

SMB 3 安全要求可能不会让您使用 SMB 来装载共享点。

检查您的连接设置

服务器信息块 (SMB) 3 是连接到 macOS 中服务器的默认方式。进行鉴定后,它需要进行连接,以执行“验证协商”请求。除非您以客人身份或匿名方式连接,否则所有 SMB 3 会话都必须经过签名。

您可能会有一个 macOS 文件服务器是 Open Directory 客户端,且匿名绑定到轻量级目录访问协议 (LDAP) 服务器。如果是这样,请使用以下连接方式之一:

  • 当您连接到 LDAP 服务器时,请使用已鉴定的绑定

  • 将文件服务器的角色更改为 Open Directory 备份服务器。这样做还会在您的服务器上设置 Kerberos。

  • 停用客户端上的验证协商请求。

  • 设置您的 SMB 服务器或客户端,以仅使用 SMB 2。

了解会话登录

在 SMB 3 中登录会话需要一台已绑定的电脑,以在目录服务器中访问每个用户的 md4(密码)。因此,SMB3 仅授权客户端连接到“受信任”的电脑。这些是使用目录管理员 (diradmin) 凭证来进行鉴定绑定的电脑 (authbound)。

有时候,目录管理员无法将您的服务器鉴定绑定到指定目录服务器,这个目录服务器包含您希望用户用来鉴定的帐户。这种情况下,您可以停用客户端的验证协商请求,或调整服务器以只接受安全性较低的 SMB 2 连接。若要完成此操作,请修改 SMB 服务器设置或/和客户端设置。

停用客户端上的验证协商请求

如果您停用验证协商,您将会更容易遭受中间人攻击。仅当客户端和服务器位于受保护网络上时,您才应停用验证协商请求。

要在 /etc 目录的 nsmb.conf 文件中设置 validate_neg_off 设置的值,请使用文本编辑器或“终端”。要了解更多客户端 SMB 配置选项,请参阅 nsmb.conf 的手册页。

在您配置 nsmb.conf 以停用验证协商请求时,具体的设置如下所示:

[default]

validate_neg_off=yes

设置您的 macOS 服务器以拒绝 SMB 3 连接

验证协商请求是客户端发起的 SMB 3 功能。要防止客户端发出此类请求,您可以将 macOS 服务器设置为只接受 SMB 2 连接。服务器偏好设置中的位域控制“服务器方言”。此位域的关键字是 ProtocolVersionMap。它仅使用三个位:

含义

1

支持 SMB 1

2

支持 SMB 2

4

支持 SMB 3

若要支持多种方言,请组合各个位。

本示例将设置 ProtocolVersionMap 以允许 SMB 2。要完成此操作,将 ProtocolVersionMap 设置为“2”。

sudo scutil --prefs com.apple.smb.server.plist

get /

d.add ProtocolVersionMap # 2

set /

commit

apply

quit

发布日期: