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机器上运行相同的命令我收到以下错误:
mount error(13): Permission denied
这来自dmesg:
[ 9421.865985] Status code returned 0xc0000022 STATUS_ACCESS_DENIED
[ 9421.865994] CIFS VFS: Send error in SessSetup = -13
[ 9421.866098] CIFS VFS: cifs_mount Failed w/return code = -13
我有与VM相同版本的CIFS:6.4.
我在我的内核(4.4.21-gentoo)中启用了SMB2-SMB3-SMB3.1.1(实验性).
我也安装了samba(并且它也不能与smbclient一起使用)但是我理解它们是无关的.
解决方法
The Linux SMB client doesn’t yet support encryption,so mounting a
file share from Linux still requires that the client be in the same
Azure region as the file share. However,encryption support for Linux
is on the roadmap of Linux developers responsible for SMB
functionality. Linux distributions that support encryption in the
future will be able to mount an Azure File share from anywhere as
well.
更多信息:
https://azure.microsoft.com/en-us/documentation/articles/storage-how-to-use-files-linux/#overview