使用背景
VS Code连接远程服务器,在VS Code里查看代码和修改代码时经常遇到网络不稳定,断网的情况,所以改用sshfs
问题
sudo sshfs -o allow_other username@remote.IP:/用户文件夹 /指定文件夹后
虽然成功挂载了文件系统,但在VS Code中阅读代码后修改时无权限保存,发现是文件夹的权限不匹配的问题。
因为是多人共用分布式服务器,所以文件夹的权限要慎重,root权限,sudo能少用则少用。
解决
sshfs挂载时用的是普通用户,所以连接的远程服务器上的文件夹也要是用户权限。ls -l可以查看文件夹拥有者信息,当不匹配时,会发生在VS code下找不到是root权限的部分文件。可以使用
sudo chown -R user:user folder
修改文件夹为用户所有
此外,本地挂载目录也要是用户所有,而不是root权限,一般在/home/user目录下建立挂载目录为妥
sshfs username@remote.IP:/用户文件夹 /home/username/挂载目录
此时,VS code打开挂载目录下的文件夹,修改文件后就能保存了。之前用VS code远程连接时,打开远程服务器后找不到远程服务器上某文件夹下某些文件,应该也是权限不匹配的问题。