在 Ubuntu 中安装持久网络共享时遇到问题,下面是我在 /etc/fstab 中添加的内容
//192.168.2.10/AlphaData_GlobalShare /media/AlphaData cifs credentials=/root/.smbcredentials,iocharset=utf8,uid=1001,gid=1001,vers=3.0,sec=ntlm 0 0
//192.168.2.10/AlphaMedia_GlobalShare /media/AlphaMedia cifs credentials=/root/.smbcredentials,iocharset=utf8,uid=1001,gid=1001,vers=3.0,sec=ntlm 0 0
//192.168.2.10/VMRoot_GlobalShare /media/VMRoot cifs
credentials=/root/.smbcredentials,iocharset=utf8,uid=1001,gid=1001,vers=3.0,sec=ntlm 0 0
这是我使用 sudo mount -a 时遇到的错误
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount error(22): Invalid argument
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
以下是日志
Oct 20 09:49:20 ubuntudocker kernel: [ 2150.545771] CIFS VFS: cifs_mount failed w/return code = -22
Oct 20 09:52:55 ubuntudocker kernel: [ 2365.006778] CIFS VFS: Unable to select appropriate authentication method!
Oct 20 09:52:55 ubuntudocker kernel: [ 2365.006780] CIFS VFS: Send error in SessSetup = -22
Oct 20 09:52:55 ubuntudocker kernel: [ 2365.007569] CIFS VFS: cifs_mount failed w/return code = -22
Oct 20 09:53:00 ubuntudocker kernel: [ 2370.037292] CIFS VFS: Unable to select appropriate authentication method!
Oct 20 09:53:00 ubuntudocker kernel: [ 2370.037294] CIFS VFS: Send error in SessSetup = -22
Oct 20 09:53:00 ubuntudocker kernel: [ 2370.038419] CIFS VFS: cifs_mount failed w/return code = -22
Oct 20 09:53:05 ubuntudocker kernel: [ 2375.077100] CIFS VFS: Unable to select appropriate authentication method!
Oct 20 09:53:05 ubuntudocker kernel: [ 2375.077102] CIFS VFS: Send error in SessSetup = -22
Oct 20 09:53:05 ubuntudocker kernel: [ 2375.078377] CIFS VFS: cifs_mount failed w/return code = -22
不确定是什么导致了这里的问题,共享托管在 FreeNAS 11.2-RC1 服务器上,与 Ubuntu Server VM 相同。知道是什么导致了这里的问题吗?
谢谢
答案1
删除sec=ntlm
。这在目前的几个版本中都不起作用,但它仍然存在于互联网上的许多教程中。
答案2
这并不是说它sec=ntlm
不再起作用。但是该设置与您使用的 Samba 方言版本不一致。
我已设置好 Ubuntu 18.04 Samba 服务器。如果我尝试使用您的设置进行挂载:
sudo mount -t cifs //gort.local/Public /home/morbius/Test -o guest,vers=3.0,sec=ntlm
它失败并显示完全相同的“无效参数”错误消息,并且记录完全相同的错误。
如果我使用与该安全设置一致的 smb 方言版本运行 mount 命令:
sudo mount -t cifs //gort.local/Public /home/morbius/Test -o guest,vers=1.0,sec=ntlm
它确实有效:
安装|grep cifs
//gort.local/Public 位于 /home/morbius/Test 类型 cifs (rw,relatime,vers=1.0,sec=ntlm,缓存=严格....
如果您想使用 sec=ntlm 连接到服务器,请更改为 vers=1.0 - 我不知道您为什么要或需要这样做但是.....
或者保留 vers=3.0 并删除 sec=ntlm,在这种情况下 sec 默认为 ntlmssp,这与 SMBv3 一致。