Windows 10无法连接到Ubuntu 20.04.3 Samba服务器(0x80004005未指定错误)



我的目标:我的windows 10客户端可以使用来宾帐户(无需密码(访问、查看和执行Ubuntu服务器共享的.exe文件。

预期结果:当我在文件资源管理器中键入\ubuntu server hostname\bakro时,我可以看到并执行.exe文件

实际结果:Windows无法访问\ubuntu服务器主机名\bakro,错误代码:0x80004005未指定错误

其他观察

  1. 当我在Windows 10客户端上运行net use \ubuntu-server-hostnamebakro时,它会产生System error 53 has occurred. The network path was not found.
  2. 我可以使用smbclient从ubuntu服务器访问共享文件
    当我运行smbclient -L \\ubuntu-server-hostname时,我可以看到bakro在那里列出
    当我运行smbclient \\ubuntu-server-hostname\bakro进入smb命令行,并键入ls列出共享中的文件时,我可以看到.exe文件
    在这两种情况下,都要求我提供当前用户帐户密码。我按回车键(空白密码(作为回应
    我使用systemctl status smbd检查了日志,得到了多行session closed for user samba-guest。时间似乎与我通过smbclient获得份额一致
  3. ubuntu服务器也在运行OpenVPN服务器。OpenVPN服务器使用10.8.0.0/24子网,并分配10.8.0.1 ip地址。如果我使用同一台Windows 10计算机连接到OpenVPN服务器,然后通过在文件资源管理器中键入\10.8.0.1访问samba共享,我可以看到列出的文件夹bakro。我可以浏览文件夹并执行.exe文件(这是我想要和期望的结果(。此访问尝试使用systemctl status smbd记录在samba日志中

我所做的:

  • 基于观察#1,我将主机名替换为服务器公共ip地址。对于通过net use和文件资源管理器进行访问,它会产生相同的结果。两次尝试都没有记录在通过systemctl status smbd获得的samba日志中
  • 基于观察#1和#2,我使用ufw status检查了Ubuntu服务器防火墙。Samba被列为允许通过ipv4和ipv6。我还检查了服务器的安全组。端口445 TCP被列为允许
    我已尝试禁用ufw并将安全组设置为允许从任何位置连接到所有端口,但我仍然无法访问共享
  • 基于观察#3,我获得了使用ip link show的网络接口列表。获得了3个接口:lo(环回(、eth0(互联网(、tun0(OpenVPN(。我在smb.conf中添加了interfaces = lo eth0。结果:我无法从\ubuntu-server-hostnamebakro\10.8.0.1bakro访问共享
  • 我尝试将来宾帐户从samba来宾更改为nobody。除了日志现在显示session closed for user nobody之外,没有任何更改
  • 我尝试将client min protocol = SMB2client max protocol = SMB3添加到smb.conf源中
  • 已更改文件共享连接,以便在Windows 10客户端的高级共享设置中启用40位和56位加密

次要观察:

  • 我发誓,当我第一次设置samba服务时,我使用同一台Windows 10计算机测试了文件共享功能(但我的内存充其量是不可靠的(
  • 我还试图通过另外两台Windows7计算机上的文件资源管理器访问\ubuntu服务器主机名\bakro,结果相同

以下是我的smb.conf:的内容

# Global parameters
[global]
disable netbios = Yes
guest account = samba-guest
interfaces = 0.0.0.0/0
log file = /var/log/samba/log.%m
logging = file
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* .
passwd program = /usr/bin/passwd %u
security = USER
server role = standalone server
server string = ubuntu-samba-server
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb

[printers]
browseable = No
comment = All Printers
create mask = 0700
path = /var/spool/samba
printable = Yes

[print$]
comment = Printer Drivers
path = /var/lib/samba/printers

[bakro]
guest ok = Yes
path = /srv/files/bakro

一切都在缓慢变化。我已经使用silmple smb.conf超过15年了,但突然之间无法以来宾身份连接到共享。如果我配置了home-dir共享,这是可以的,但guest的免费共享被拒绝了。我花了一些时间才发现,在共享定义中,有必要指定:valid users = nobody,如您在示例中看到的:

[data]
path          = /srv/data
valid users   = nobody
force user    = nobody
read list     = nobody
write list    = nobody
guest account = nobody
guest only    = yes
guest ok      = yes

我无法解释它为什么以及如何发挥作用。只需知道,它依赖于samba版本(现在:4.11.5-Debian(。linux端的dir/srv/data应该有nobody:nogroup,文件至少有666,目录至少有777。因此CCD_ 22和CCD_。通过这种方式,您应该更正全局设置。

最新更新