将 SMB 2.0 设置为挂载操作的默认值

Mar*_*rkP 7 samba mount cifs smb

连接到运行 SMB 2.0(禁用 SMB 1.0)的服务器时使用mount -t cifs -v <address>返回Host is Down错误。一种解决方法是指定vers=2.0的参数列表mount。如果您通过命令行挂载并且能够指定此参数,则这可以正常工作。但是,当使用 GUI 或mount代表您调用的某些程序时,未指定此参数。

有没有办法让 SMB 2.0+ 成为所有mount -t cifs调用的默认值,不管是什么调用它?也许在smb.conf

目前正在运行 Arch Linux。

编辑: 添加min protocol = SMB2/etc/samba/smb.conf并重新启动该服务。双方mountsmbclient仍然需要SMB版本连接到服务器之前指定。

EDIT2: 添加client min protocol = SMB2client max protocol = SMB3允许smbclient在不指定版本参数的情况下连接到服务器。但是,mount仍然不尊重smb.conf.

tel*_*coM 5

不幸的是内核的文件系统模块根本cifs不读取。/etc/samba/smb.conf允许挂载 Windows 文件共享的 CIFS 客户端模块与 Samba 完全独立。

在普通内核版本 4.13 中,模块中的默认协议级别cifs更改为 SMB3,并且在 2017 年 9 月向普通内核添加了多方言协商补丁(有效地将默认设置为“SMB2.1 或更高版本”)。

我非常确定“企业”Linux 发行版已将补丁向后移植到早期内核,但在 Arch 上,您唯一的选择可能是升级到内核版本 4.13 或更高版本。

以下是 kernel.org Git 中相关补丁的链接。提交 ID 可能有助于跟踪特定内核版本中的补丁。