linux 在Azure批处理中卸载已装载的文件:“权限被拒绝”问题

gudnpqoy  于 2023-10-16  发布在  Linux
关注(0)|答案(1)|浏览(111)

我正在处理一个Azure批处理作业,我需要访问在特定目录路径下挂载的文件。然而,我遇到了一个“权限拒绝”错误时,试图访问这些文件。文件从存储帐户装载-这在创建批处理池时完成。
我在/mnt/batch/tasks/fsmounts/test中挂载了一个目录。例如,当我从作业任务运行命令行“ls /mnt/batch/tasks/fsmounts/test”时,我得到以下错误消息:

ls: cannot access '/mnt/batch/tasks/fsmounts/test': Permission denied

我已经从Pool节点验证了文件确实装载在fsmounts文件夹中,但是在从作业任务访问它们时遇到了问题。我可以访问fsmounts文件夹中的其他文件。
我在装载配置中尝试了不同的方法-使用访问密钥、SAS密钥和身份引用
有人经历过类似的事情吗?感谢所有的帮助。

cuxqih21

cuxqih211#

根据Azure Blob Containers的Azure Batch Virtual Filesystem文档,挂载很可能仅限于root
若要获得对Bloblog挂载目录的默认访问权限,请以管理员身份运行该任务。Bloblog在用户空间挂载目录,在创建池时将目录挂载为根目录。在Linux中,所有管理员任务都是root。FUSE reference page描述了FUSE模块的所有选项。
您运行任务的权限可能低于挂载权限。如果您的场景允许较低权限的用户访问blob容器,那么您很可能需要在BlobfuseOptions下指定-o allow_other作为MountConfiguration的一部分。如果没有,您需要提升任务以管理员身份运行(即root)。

相关问题