Windows 10 64位域电脑无法访问Linux(树莓派3)samba共享

Fra*_* H. 5 samba active-directory raspbian windows-10

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

域控制器: Windows 2012

Windows 客户端: Windows 10 Evt。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/
Run Code Online (Sandbox Code Playgroud)

更新

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

似乎 Samba 是这里真正的痛苦和折磨的根源,而且似乎也没有任何方法可以解决它。解决方案必须是仅使用 Windows 作为文件服务器。

Dav*_*ard 0

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 authlanman authserver schannelserver signing设置镜像 Windows 客户端中的设置。

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

Security Settings
  Local Polices
    Security Options
      - Microsoft network client: *
      - Network security: *
Run Code Online (Sandbox Code Playgroud)

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

这些设置决定了samba 配置中的server schannel和设置。server signing

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

此设置规定了samba 配置中的ntlm auth和设置。lanman auth

例如,Send NTLMv2 response only. Refuse LM & NTLM在 Windows 设置中相当于samba 配置中的ntlm auth = no和。lanman auth = no

注意:我不建议更改您的 Windows 设置,除非您随后能够轻松解决域身份验证问题。