深层目录挂载 cifs 权限问题可能是由于 UNC 和前缀路径分割造成的

深层目录挂载 cifs 权限问题可能是由于 UNC 和前缀路径分割造成的

我正在尝试挂载一个目录(dir3)。但是,在 Windows 计算机上,目录 /server/dir1 已经是文件共享文件夹,但我没有权限。我已获得 //server/dir1/dir2/dir3 的读取权限。下面给出了我正在运行的命令和收到的响应的示例。

~# mount -vt cifs //server/dir1/dir2/dir3 /mount/directory -o credentials=/file/credentials
mount.cifs kernel mount options: ip=10.10.10.10,unc=\\server\dir2,credential=/file/credentials,ver=1,user=user,domain=sbts,prefixpath=dir2/dir3,pass=********
mount error(13): Permission denied
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

在我的 Mac 上,我可以使用相同的凭据连接到//server/dir1/dir2/dir3,因此我假设我的“mount -t cifs”命令有问题,而不是我的凭据有问题。

我的猜测是, mount 命令将//server/dir1/dir2/dir3行拆分为unc=\\server\dir1and prefixpath=dir2/dir3,导致事务尝试测试针对\\server\dir1and not 的权限//server/dir1/dir2/dir3

有什么办法可以防止mount -t cifs命令分裂//server/dir1/dir2/dir3unc=\\server\dir1and吗prefixpath=dir2/dir3?或者还有其他方法可以解决我的问题吗?

答案1

有同样的问题。我给出的DFS分为两部分:unsprefixpath

对我来说“突破”是激活以下诊断cifs

$ echo 1 | sudo tee /proc/fs/cifs/cifsFYI

然后,在另一次失败的安装尝试之后,我查看了 dmesg-log 内部

$ dmesg

并看到了安装问题的原因:

fs/cifs/cifs_dfs_ref.c: cifs_compose_mount_options: Failed to resolve server part of <HERE_WAS_UNC_PART_OF_MY_DFS> to IP: -11

“谷歌搜索”错误让我找到了以下两篇文章:

  1. https://vlkan.com/blog/post/2015/01/08/smb-mount-troubleshoot/
  2. https://access.redhat.com/solutions/45070

这些文章的简短摘要:

  1. 安装keyutils
  2. 将以下行附加到/etc/request-key.conf
create cifs.spnego * * /usr/sbin/cifs.upcall -c %k
create dns_resolver * * /usr/sbin/cifs.upcall %k

利润!

相关内容