我有一个 Ubuntu 20.04 盒子和一个 XUbuntu 20.04 盒子,都安装了 Samba。我想从 Ubuntu 盒子访问 XUbuntu 盒子上的 Public 文件夹(在我的 /home 目录中)。在 XUbuntu 机器上,我使用终端命令 'net usershare add Public /home/ 创建了一个共享(因为默认的文件管理器 - 在我在 XUbuntu 机器上安装 Nautilus 后出现同样的问题 - 没有提供共享文件夹的选项) john/Public' 被接受。使用 Nautilus 时(在 Ubuntu 框中,通过单击网络中的 XUbuntu 框名称或连接到服务器),我收到消息“无法从服务器检索共享列表:连接超时”。两个盒子都有静态 LAN ip 地址。帮助。PS 从 XUbuntu 盒子访问 Ubuntu 盒子上的文件夹时出现类似问题。
您正在使用的两个操作系统支持的 gvfs 中存在一个错误,该错误会强制使用 SMB1 与服务器进行初始联系。服务器上没有 SMB1,因为出于安全原因它被禁用,所以它失败了。
你有三个选择:
在两个系统上恢复 SMB1(Samba 称之为 NT1)。
编辑 /etc/samba/smb.conf 并在该
workgroup = WORKGROUP
行下方添加以下两个:然后重启盒子。重启服务是不够的,你必须重启。
绕过 gvfs 错误,保持 smb.conf 原样,但要求服务器并且它在文件管理器中明确共享:
smb://ip-address-of-the-server/share-name
您还可以使用 mDNS 主机名(最后附加 .local 的主机名)
smb://server-host-name.local/share-name
或者您可以进行 cifs 挂载,这也将绕过该错误,因为它不使用 gvfs 或 samba 客户端。
如果您需要,我可以向您展示如何做到这一点。
正如 Morbius1 建议的那样,两个盒子上的 sudo smbpasswd -a john 解决了问题。在一个盒子上这样做允许访问另一个盒子上的适当文件夹。有趣的是。通常,我在 Ubuntu 机器上使用 X2Go 来在 XUbuntu 机器(这是一个 8 年的英特尔 NUC 机器)上做一些工作,我只用于 nginx Web 服务器和 WireGuard VPN 之类的东西。