如何在 Ubuntu 19.04 中强制使用 SMB 传统模式版本 1 SMB1

如何在 Ubuntu 19.04 中强制使用 SMB 传统模式版本 1 SMB1

我希望有人能帮我解决这个问题。在以前的 Ubuntu 版本中,我可以用类似这样的方法降低 samba 服务器的安全性。

server max protocol = nt1

我不需要最新版本的 samba 或 ubuntu 的额外安全功能,因为我位于 NAT 后面,并且从未打开与文件共享相关的 IP/UDP 端口 135 到 139。我必须承认,我对最新软件中添加的所有安全功能感到沮丧,我必须弄清楚如何禁用所有这些功能才能在我自己的家里使用它!我通过 WIFI/LAN 使用的免费 Android 应用程序无法与新软件一起使用,我只想将手机图片发送到我的电脑上进行增强,或者将 Libreoffice 创建的 PDF 文件下载到我的 Android 平板电脑上。我永远不会在互联网上分享任何东西,因此,如果您能就如何强制 Ubuntu 19.04 上最新版本的 samba 运行 SMB1 提出任何建议,我将不胜感激。

是的,我想我知道风险,也知道我在做什么。我已经在防火墙后面了。提前谢谢。谢谢。

答案1

Linux samba 服务器旨在与客户端协商在两个值之间使用最佳 smb 方言:“服务器最小协议”(设置为早于 SMB1 的 LANMAN1)一直到“服务器最大协议”(设置为 SMB3)。通过将这些默认值添加到 smb.conf 来修改它们对于仅能使用 SMB1(又名 NT1)的客户端来说并不是必要的。

我怀疑 Android 设备上的 samba 客户端版本可能太旧了,问题出在身份验证协议上,而不是 smb 方言上。您可能希望在 smb.conf 中用此设置这些身份验证级别 - 就在 workgroup = WORKGROUP 行下:

lanman auth = yes
ntlm auth = yes

然后重新启动smbd:sudo service smbd restart

或者按照 adasiko 的建议,为您的 Android 寻找更新的东西。

答案2

非常感谢您发来这个帖子...让我解释一下。

我有一台 Mi 720p 相机,它不接受我的 Samba 共享的用户和密码。我本来打算放弃,但在阅读了您的帖子后,我将 samba.conf 标头设置为如下形式:

    (...)
    client min protocol = NT1
    server min protocol = NT1
    ntlm auth = yes
    lanman auth = yes
    (...)

...现在它接受用户名和密码,让我选择文件夹位置!非常感谢你们!

相关内容