sshfs 上 Matlab 中的 mkdir 挂载网络驱动器权限被拒绝

sshfs 上 Matlab 中的 mkdir 挂载网络驱动器权限被拒绝

我正在尝试创建和删除一些文件和文件夹,这些文件和文件夹是我在 Xubuntu 15.04 下开发的 MatLab 脚本的一部分。脚本以及文件和文件夹位于 sshfs 安装的网络驱动器上。在终端中,我可以毫无困难地创建、编辑和删除文件夹,但当我在 MatLab 中尝试时,我收到权限被拒绝的错误。

现在我对 Linux 还比较陌生,我最好的猜测是,在终端中服务器以某种方式识别我的特定于服务器的用户,而 matlab 以本地用户身份运行,并且这种冲突意味着我没有权限写入内容?

虽然不知道这是否正确,但任何见解都值得赞赏!

谢谢,Narameh

编辑;通过 SSH 登录并手动创建所有其他文件和文件夹应位于的文件夹,并授予任何人读取和写入这些文件夹的权限后,其余文件和文件夹将轻松创建。但是,如果有人有任何灵感,我仍然希望通过 MatLab 以更直接的方式做到这一点:)!

答案1

这个问题已经很久了。不过,对我有用的解决方案是改用 CIFS 挂载文件夹。请参阅以下有关如何设置的说明(摘自https://linuxize.com/post/how-to-mount-cifs-windows-share-on-linux/

在 Ubuntu 和 Debian 上安装 CIFS 实用程序:

sudo apt update
sudo apt install cifs-utils

创建一个目录作为挂载点:

sudo mkdir /mnt/win_share

例如,创建一个/etc/.win-credentials包含以下内容的凭证文件:

username=user
password=password
domain=domain

通过运行以下命令设置正确的权限和所有权:

sudo chown root: /etc/.win_credentials
sudo chmod 600 /etc/.win_credentials

使用以下命令安装驱动器:

sudo mount -t cifs -o credentials=/etc/.win-credentials,dir_mode=0777,file_mode=0777 //WIN_SHARE_IP/<share_name> /mnt/win_share

我想特别强调使用选项dir_mode=0777,file_mode=0777来完全访问文件和目录!

相关内容