当我尝试使用以下命令挂载时:
mount -v -t cifs //<storageaccount>.file.core.windows.net/<sharename> <localfolder> -o username=<myuser>,password=<storageaccountkey>,dir_mode=0777,file_mode=0777,vers=3.0
如果我使用等效命令从 Azure Ubuntu VM 或 Windows 机器运行它,它可以完美运行。
尝试在我的 Linux 机器上运行相同的命令时出现以下错误:
安装错误(13):权限被拒绝
这是消息:
[ 9421.865985] 返回状态代码 0xc0000022 STATUS_ACCESS_DENIED
[9421.865994] CIFS VFS:SessSetup 中发送错误 = -13
[9421.866098] CIFS VFS:cifs_mount 失败,返回代码 = -13
我有相同版本的互联网金融作为虚拟机:6.4。
我在我的内核(4.4.21-gentoo)中启用了 SMB2-SMB3-SMB3.1.1(实验)。
我有桑巴安装也很好(并且它也不能与 smbclient 一起使用)但据我了解它们是不相关的。
答案1
不幸的是,您还不能。如果在 Azure 数据中心外安装,目前仅支持 Windows 8、10 和 Window Server 2012 (R2)。
Linux SMB 客户端尚不支持加密,因此从 Linux 安装文件共享仍需要客户端与文件共享位于同一 Azure 区域。但是,Linux 加密支持已列入负责 SMB 功能的 Linux 开发人员的路线图中。未来支持加密的 Linux 发行版也将能够从任何地方安装 Azure 文件共享。
更多信息:
https://azure.microsoft.com/en-us/documentation/articles/storage-how-to-use-files-linux/#overview
答案2
我绝对会推荐您生成基于 Windows 的虚拟机来完成这项工作。当我需要 Windows 上可靠的 NFS 服务器/客户端时,我在 Windows 上做了不同的事。
答案3
它和 smbclient 兼容吗?
这对我有用,但“mount -t cifs -overs=3.0”……却没用。
smbclient //foo.file.core.windows.net/test -mSMB3 -e -Ufoo%longkeyhere==
答案4
最近我遇到了同样的问题。我试图将 Azure 文件服务挂载到 Azure Linux VM。经过多次尝试,它挂载了。
在最后一次尝试(RHEL 7.4)中,我升级了内核并添加了 Samba-client、samba-client-libs。
yum install kernel-3.10.0-862.el7.x86_64 yum install samba-client samba-client-libs
我认为问题出在它使用 samba 客户端而不是 cifs-util 或内核版本没有出现某些错误。