在linux中看不到windows共享列表

在linux中看不到windows共享列表

我家里有一个小网络,并且在 Windows 上共享了一个文件夹。在其他 Windows 计算机上,我可以看到 Windows 共享列表的列表,但没有任何 Linux 设备可以这样做。

当我点击“Windows 共享”时鹦鹉螺表明:

Failed to retrieve share list from server: No such file or directory

但令人惊讶的是我可以访问smb://192.168.1.2/SharedFolder

我已经测试过了Fedora 23 直播,德班8Debian 测试一切都一样。

我什至检查了我是否开放了 136、137、138 和 445 端口。

答案1

自最初的 WannaCry 恶意软件感染以来,Microsoft 已开始弃用旧版本的 Windows 磁盘和打印机共享协议 SMB 1.0,速度比原计划更快。

不幸的是,Windows 系统在非 Active Directory 域中发现和浏览网络共享的经典方法仍然使用旧协议的某些部分。

适用于非 AD 网络的新 Windows 共享发现协议 WS-Discovery,与 SMB 协议完全分离,Samba 尚未集成对其的支持。

如果您的 Windows 系统禁用了 SMB 1.0(强烈建议出于安全考虑),并且您没有使用 Active Directory,并且您的 Linux 系统没有可以使用新协议宣布其可用共享的软件,那么 Windows 系统将无法使用 SMB 1.0。能够自动找到 Linux 共享,但如果用户知道共享主机的名称/IP 和共享名称,仍然可以连接到它们。

在 Samba 成功集成新协议之前,有一些项目旨在缓解此问题:

它们将读取 Samba 的配置并响应本地网络上的 WS-Discovery 查询。要使用这些,您必须允许端口 5357 上的传入 TCP 连接和端口 3702 上的多播 (UDP) 流量。协议的多播部分使用 IPv4 多播地址 239.255.255.250 和 IPv6 多播地址 fe02::c。

在客户端,Debian 8 可能太旧,无法在客户端工具中包含新的浏览协议。

答案2

确保您的 [ipcs] 隐式共享权限允许访客。

编辑:看到你的“服务器”系统是一个Windows系统,我想指出Windows客户端的默认行为是尝试使用当前凭据登录服务器 - 如果这不起作用,它会提示用户提供替代方案。 Windows 系统上的 IPC$ 共享需要允许来宾(即匿名)访问,因为它是用于获取其他共享对象列表的共享。所以首先要确保windows机器上的IPC$确实可以匿名访问。如果没有其他方法,请在 Linux 计算机的终端中尝试“smbclient -L 192.168.1.2”,并在出现任何提示时按住 Enter 键。这应该如果一切配置正确,则可以工作,否则您只是运气不好,Windows 客户端上的用户帐户配置与“服务器”上的(某些)帐户相同。

答案3

我遇到了这个问题并通过安装包解决了它gvfs-bin。除了 之外gvfs-bin,大多数gvfs软件包都已安装:gvfs-common-libs-daemons-backends

相关内容