在 ubuntu 18.04 上挂载 cifs 问题

在 ubuntu 18.04 上挂载 cifs 问题

我有两台类似的 Ubuntu 服务器 18.04 (4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux),并尝试在其上安装 Windows 文件服务器共享。在一台服务器上,安装没有问题,但在第二台服务器上,安装失败,并出现无效参数错误:

mount 错误(22):参数无效,请参阅 mount.cifs(8) 手册页(例如 man mount.cifs)

在两台服务器上执行相同的命令:

mount -t cifs -o username=用户名,domain=域名 //path/to/share /mount/path

内核日志写入这样的消息:

[2018 年 12 月 4 日星期二 13:48:36] 挂载时未指定方言。默认方言已从 CIFS (SMB1) 更改为更安全的方言 SMB2.1 或更高版本(例如 SMB3)。要使用安全性较低的 SMB1 方言访问不支持 SMB3(或 SMB2.1)的旧服务器,请在挂载时指定 vers=1.0。[2018 年 12 月 4 日星期二 13:48:36] CIFS VFS:cifs_mount 失败,返回代码 = -22

答案1

内核消息显示:默认的 SMB 方言不起作用,您必须指定它。mount.cifs 的 MAN Page 解释了该选项:

   vers=
       SMB protocol version. Allowed values are:
       ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.
       ·   2.0 - The SMBv2.002 protocol. This was initially introduced in Windows Vista Service Pack 1, and Windows Server 2008. Note that the initial release version of
           Windows Vista spoke a slightly different dialect (2.000) that is not supported.
       ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft Windows 7 and Windows Server 2008R2.
       ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft Windows 8 and Windows Server 2012.
       Note too that while this option governs the protocol version used, not all features of each version are available.

因此,您应该尝试找出您的服务器正在使用的 SMB 方言,并在命令中指定它

例子:

mount -t cifs -o username=username,domain=domain-name,vers=1.0 //path/to/share /mount/path

链接到手册页以供进一步参考:https://linux.die.net/man/8/mount.cifs

相关内容