在 Fstab 中安装 SMB 共享的问题

在 Fstab 中安装 SMB 共享的问题

我刚刚将文件服务器从 16.04 升级到 20.04,除了 Ubuntu 计算机上的 SMB 安装外,一切似乎都正常。我可以访问 Windows 计算机上的 SMB 共享,但在我的 Ubuntu 18.04 计算机上,我无法在 fstab 中安装共享。

如果我从命令行(下面的命令)安装共享,它就可以正常安装。

sudo mount -t cifs -o username=username,vers=3.0 //192.168.1.116/Share /mnt/Share/

但是,当我尝试在 fstab 中挂载共享(下面的命令)时,smb 共享未挂载。

//192.168.1.116/Share  /mnt/Share  cifs  credentials=/home/user/.smbcredentials,vers=3.0,iocharset=utf8,sec=ntlmssp  0  0

做完sudo mount -a并尝试后ls我得到:

ls:无法访问“共享”:操作不受支持

当我这样做时,smbclient -L //192.168.1.116我得到:

协议协商失败:NT_STATUS_INVALID_NETWORK_RESPONSE

更新:

当我做

sudo mount -t cifs -o credentials=/home/user/.smbcredentials,vers=3.0,iocharset=utf8,sec=ntlmssp //192.168.1.116/Share /mnt/Share/

SMB 共享已正确挂载。

当我做

smbclient -L //192.168.1.116 -d 0

我得到了相同的结果:

协议协商失败:NT_STATUS_INVALID_NETWORK_RESPONSE。

dmesg -t | grep -e CIFS返回:

CIFS VFS:cifs_mount 失败,返回代码 = -95

当我打开调试检查 dmesg 时,我收到很多信息:

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/cifsfs.c: CIFS VFS: 在 cifs_statfs 中 Xid 为:9405245,uid 为:1000

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/cifsfs.c: CIFS VFS:离开 cifs_statfs (xid = 9405245) rc = -95

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/inode.c: CIFS VFS: 在 cifs_revalidate_dentry_attr 中为 Xid: 9405247,uid: 1000

/build/linux-Dh1oQA/linux-4.4.0/fs/cifs/inode.c: CIFS VFS:离开 cifs_revalidate_dentry_attr(xid = 9405247)rc = -95

答案1

您会尝试使用 smblient 进行调试吗?

smbclient -L //192.168.1.116 -d 0

您是否能够使用 fstab 中的选项和凭据文件通过命令行进行挂载?

sudo mount -t cifs -o credentials=/home/user/.smbcredentials,vers=3.0,iocharset=utf8,sec=ntlmssp //192.168.1.116/Share /mnt/Share/

您在 dmesg 中看到了哪些有关 CIFS 的错误?

dmesg -t | grep -e CIFS

我们还可以启用 cifs 模块的调试。

modprobe cifs
echo 'module cifs +p' > /sys/kernel/debug/dynamic_debug/control
echo 'file fs/cifs/* +p' > /sys/kernel/debug/dynamic_debug/control
echo 7 > /proc/fs/cifs/cifsFYI

并使用禁用它。

echo 0 > /proc/fs/cifs/cifsFYI

还请检查 dmesg 中的 cifs 模块调试输出。

答案2

不确定发生了什么,但我能够解决这个问题。

我决定重新开始,并执行了 sudo umount /mnt/Share(s)。卸载每个目录后,我准备使用 sudo mount -a,让 fstab 中的挂载点全部正确挂载。

线索来自一个不再可用的答案。答案作者(如果我没记错的话@heynnema)要求我将挂载放入file_mode=0777,dir_mode=0777我的 fstab 中。

今天早上我仔细检查后发现目录被突出显示了。快速ls -l显示它是 777,这不对。我无法通过调整 fstab 来更改它,所以我想我应该重新开始。看来这次成功了。

最后我添加了我的;

smb.conf 文件

min client protocol = NT1
max client protocol = SMB3

/etc/fstab

vers=3.0

即使最小客户端协议 = NT1,也需要 vers=3.0。

相关内容