我的另一台台式机装有 linux 和 samba 3.x 我最近将我的 HP15 笔记本电脑从 xubuntu 18.04 升级到 20.04,并进行了全新安装。我能够使用 cif 安装和文件共享从我的另一台运行 samba 3.x 的 linux 机器到我的 HP 笔记本电脑(使用 xubuntu 18.04)。现在 HP 笔记本电脑只能在 samba(Thunar Browse 网络)上找到自己。根据互联网搜索,我对 smb.conf 所做的唯一修改是
client lanman auth = yes
ntlm auth = yes
但两者之间没有任何联系。
我了解到 samba 服务器不属于 20.04,只包含 samba-common。我了解了,sudo apt install samba
但无法连接,只是出现错误。再说一遍:使用 18.04 连接正常。
答案1
要连接到旧的 samba 服务器,请在您的 smb.conf 中添加一个选项 - 位于上述其他选项之上:
client min protocol = NT1
如果您想让旧机器访问 Ubuntu 20 服务器,则需要在服务器端添加 SMB1 支持:
server min protocol = NT1
然后重新启动smbd:sudo service smbd restart
原因:Ubuntu 20 中的 Samba 版本在客户端和服务器端都禁用了 SMB1(Samba 称之为 NT1)。虽然您可以与服务器建立初始连接,但默认情况下它将从 SMB2 启动。Samba 3.x 中没有 SMB2。
尽管 mount.cifs 由 Linux 内核控制,而不是 smb.conf,但它的作用类似。默认情况下,它以 SMB2 启动。要对旧系统进行 cifs 挂载,您需要指定希望它使用 smb1。CIFS 会调用它。vers=1.0
您还可以使用client lanman auth = yes
sec=ntlm
因此,添加到您的 cifs mount 语句中:vers=1.0,sec=ntlm