我是 Linux 新手。我有一台 Raspberry Pi 4,并在其上使用过 Raspbian,访问我的 Windows 10 文件共享时没有遇到任何问题。我想尝试 Ubuntu,看看它如何比较。我尝试了 Kbuntu 版本,但没有成功,所以我切换到 Ubuntu Server 20.04,然后在其上安装了 Ubuntu Mate。一切似乎都很好。然后我想尝试文件共享部分,所以我的第一步是安装 Samba,这似乎很顺利。但是,我仍然无法访问我的 Windows 10 文件共享。我在 Windows 机器上安装了 SMB。我不断收到错误消息“无法检索文件共享:连接到服务器”。我到处寻找一套好的、全面的说明,说明需要安装哪些部分、如何配置它们等。我找到了一些零碎的信息,但似乎没有什么能让我全面地了解两端的情况。任何帮助都将不胜感激。
答案1
如果您希望从 Ubuntu 20.04 “发现”然后“连接”到 Windows 10 机器,您需要做一些工作。
在 Win10 中您必须SMB 1.0/CIFS Server
启用。
在 Ubuntu 20.04 中,您必须在客户端启用 SMB1。您可以通过编辑 /etc/samba/smb.conf 并在 workgroup = WORKGROUP 行下添加以下内容来执行此操作:
client min protocol = NT1
(Samba 将 smb1 称为 NT1 只是为了混淆人们)
您可以重新启动 smbd:sudo service smbd restart
但是最好的办法就是重新启动。
原因:Ubuntu 20.04 中的 Samba 版本与 Win10 一样在客户端和服务器端禁用了 SMB1。没有 SMB1 就无法进行 NetBIOS 发现或名称解析。
另一种方法是让 Ubuntu 和 Win10 保持单独关系,然后直接使用 mDNS ... 或通过 ip 地址访问 Win10 机器及其共享:
在 caja 的位置栏中输入您的 Win10 机器的 mDNS 网络路径及其共享 - 不要忘记最后的 .local。
smb://win10-host-name.local/share-name
Linux 中的 mDNS 称为 Avahi,Ubuntu 服务器默认不安装它。我不知道在服务器上安装 MATE 是否会引入它,因此为了确保安全,请手动安装它:
sudo apt install avahi-daemon
答案2
我尝试了很多在线指南,但只有提供的指南这里在我的环境中,这种方法很有效。对我来说,关键的一步是打开 TCP 端口 139 和 445 以及 UDP 端口 137 和 138,因为中小企业和纳米比亚samba 使用的程序监听这些端口。打开端口的命令
sudo ufw allow samba