Windows 10 64 域计算机无法访问 Linux(Raspberry Pi3)samba 共享

Windows 10 64 域计算机无法访问 Linux(Raspberry Pi3)samba 共享

Samba 服务器: Raspberry Pi3,运行 osmc 媒体服务器(我相信这是一个缩小版的 Raspbian)。Samba 版本:4.2.10

域控制器: Windows 2012

Windows 客户端: Windows 10 版本 64 位

在我设置域控制器并将 Win10 客户端连接到它之前,我能够毫无问题地访问 smb 服务器上的 smb 共享。

将 Win10 客户端连接到 AD 后,我可以看到 smb 服务器,但无法登录(“拒绝访问”)。

编辑:当然,我尝试使用 WORKGROUP\username 登录到 samba 共享,有些人认为这应该可行。但事实并非如此。

据我所知,这是因为 smb 服务器不支持 Windows 10 使用的 smb 客户端版本(3?)。因此,由于找不到 Windows 10 帮助,我尝试了这篇针对 Windows 7 的 MS 文章:

https://support.microsoft.com/en-us/kb/2696547

我禁用了 smb 版本 2 和 3,并启用了版本 1,正如另一个论坛所建议的那样。当我重新启动机器时,Win10 客户端甚至无法看到 smb 共享。当我禁用版本 1,并再次启用版本 2 和 3 时,我又回到了客户端可以看到共享但无法登录的状态。

有人知道如何解决这个问题吗?也有人建议将 smb/linux 服务器加入 Windows 域,但由于这个简单的解决方案在 Pi3 架构上不起作用,我不愿意尝试手动安装 Kerberos 和所有这些东西,因为我真的不太了解它。另外,我预计 Pi3 不存在一些必要的软件包,而我将在半途陷入或多或少损坏的系统。

似乎有几个人声称禁用 samba 2/3 对他们有用。奇怪的是,这对我来说不起作用,无论是在 Win 10 客户端还是 Win 2008 服务器上。而且 MS 似乎也或多或少不愿意提供帮助 - 在我看来,这并不罕见。

smb.conf文件(安装后不变):

[global]

config file = /etc/samba/smb-local.conf

workgroup = WORKGROUP
security=user
follow symlinks = yes
wide links = no
unix extensions = no
lock directory = /var/cache/samba
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
log level = 1
map to guest = bad user
usershare template share = automount template

read raw = Yes
write raw = Yes
strict locking = no
min receivefile size = 16384
use sendfile = true
aio read size = 2048
aio write size = 2048
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072

[osmc]
browsable = yes
read only = no
valid users = osmc
path = /home/osmc
comment = OSMC Home Directory

[automount template]
browseable = yes
-valid = no
valid users = osmc
path = %P
hide files = /$RECYCLE.BIN/System Volume Information/desktop.ini/thumbs.db/

更新

我放弃了 Windows AD 服务器,转而设置了 Samba DC。令人难以置信的是,当 Windows 10 计算机登录到 Samba 域时,也会出现完全相同的问题。而且 Samba DC 也无法访问相同的 Samba 共享,并显示“拒绝访问”。

看来 Samba 才是真正的问题根源,而且似乎也没有任何方法可以修复它。解决方案必须是仅使用 Windows 作为文件服务器。

答案1

这可能是因为DOMAIN\username当您尝试访问共享时,您的 Windows 10 客户端正在尝试使用隐式身份验证。

Raspberry Pi3 在 samba 配置中(在全局配置部分下)是否有主机名/NETBIOS 名称?如果是,您可以尝试指定SAMBA_NETBIOSNAME\username何时尝试进行身份验证以访问共享。

更新:
根据您提供的配置,我建议添加netbios name = pi3或类似内容,然后尝试使用登录pi3\username

您也可以尝试使用SAMBA 的文档。请注意,更改配置后,您可能必须重新启动 samba 守护进程。


例如,您可以尝试添加允许匿名访问的auth methods = guest sam winbind注释guest。这样,您就可以将问题隔离在配置问题和身份验证问题之间(假设当您无法进行身份验证时将使用匿名访问 - 我的 SAMBA 技能生疏了)。

换句话说,只要您能够启用访客权限,那么我们至少知道 v1、2、3 部分正在运行,您可以专注于身份验证设置。一旦您最终让非访客访问的设置生效,您就应该删除访客访问权限,以防止未经授权访问您的共享。

我还会考虑添加设置以强制、、ntlm auth和设置镜像 Windows 客户端中的设置。lanman authserver schannelserver signing

要检查等效的 Windows 设置,请运行“secpol.msc”并检查以下设置:

Security Settings
  Local Polices
    Security Options
      - Microsoft network client: *
      - Network security: *

Microsoft 网络客户端:对安全通道数据进行数字加密或签名(始终)
Microsoft 网络客户端:对安全通道数据进行数字加密(如果可能)
Microsoft 网络客户端:对安全通道数据进行数字签名(如果可能)

这些设置决定了你的 samba 配置中的server schannel和设置应该是什么。server signing

网络安全: LAN Manager 身份验证级别

这个设置决定了你的 samba 配置中的ntlm auth和设置应该是什么。lanman auth

例如,Send NTLMv2 response only. Refuse LM & NTLM在您的 Windows 设置中等同于ntlm auth = nolanman auth = no您的 samba 配置中。

笔记:我不建议您更改 Windows 设置,除非您可以轻松地解决域的身份验证问题。

相关内容