答案1
我只是想了解一下这个问题:您正在尝试从另一个 Linux 客户端访问 Ubuntu Server 20.04?如果是这样,默认情况下它将不起作用。
您有三个选择:
[1] 在服务器上启用SMB1:
编辑 /etc/samba/smb.conf 并在 workgroup = WORKGROUP 行下添加这一行 - NT1 是 Samba 对 SMB1 的称呼:
server min protocol = NT1
然后重新启动smbd:
sudo service smbd restart
[2] 保留 smb.conf,但让客户端请求服务器,并通过连接到服务器或在位置栏中明确共享,如下所示
smb://server-name.local/share-name
.local 部分要求您将 avahi-daemon 包添加到您的服务器。您可以尝试不使用 .local,只使用主机名,但这可能会有问题。或者您可以使用服务器的 IP 地址。
[3] 从客户端使用 CIFS 挂载。例如:
sudo mount -t cifs //server-name.local/share-name /mountpoint -o guest,uid=1000
经过一些语法更改后,您可以在 fstab 中将其设置为 systemd 自动挂载,这样用户就不必使用终端。
答案2
正如莫比乌斯1说。将以下任一行(或两行)添加到您的smb.conf
:
client min protocol = NT1
server min protocol = NT1
答案3
升级后,访问 Samba 共享的参数列表可能已发生变化。请查看这一页要解决这个问题。
答案4
对于仍在寻找此问题答案的其他人:我在全新安装 20.04 后遇到了此问题,即使我以前在 18.04 中运行的 smb.conf 也不允许 windows(10) 查看 samba 共享。虽然server min protocol = NT1
在 windows 上添加 smb.conf 和/或启用 SMBv1 对某些人有用,但对我来说并没有解决问题。
对我来说唯一有用的解决方案相当简单,那就是安装 WSDD 以启用 Windows Web 服务发现,指南和说明如下:WSDD 设置指南。禁用防火墙后,它就可以使用标准 smb.conf 开箱即用。
sudo ufw disable
如果你觉得你确实需要启用防火墙(即尚未位于路由器防火墙后面),那么有一个为 WSDD 设置防火墙的指南这里在步骤11。
我还建议进行一个简单的测试,以查看您的 samba 共享是否在网络上可用,即使用文件管理器应用程序检查 Android 手机上支持的网络位置。如果它们在 Android 上可用但在 Windows 上不可用,则表明 samba 运行正常,但存在 Windows 兼容性问题,上述解决方案应该可以解决该问题。