为什么我突然无法写入这个 sshfs 卷?

为什么我突然无法写入这个 sshfs 卷?

我每天都会通过 ssh 连接一个远程服务器。我会在服务器上编辑很多文件,所以我习惯sshfs这样做。

我使用 挂载目录$ sshfs user@host:/var/www/html ~/sshfs/html。在过去的几个月里,这种方法一直很有效,而且仍然应该现在仍然可以工作。但是,我遇到了一些奇怪的不一致的访问问题。

案例1-Sublime Text:我完全无法使用我选择的编辑器 (Sublime Text) 保存任何内容。我也无法使用另存为来创建新文件~/sshfs/html/。我可以打开文件,但不能保存。

当尝试保存时,Sublime 在警告框中显示以下消息:

截屏

Unable to save ~/sshfs/html/foo
Error: rename(/home/ben/sshfs/html/.subl219.tmp, /home/ben/sshfs/html/foo) failed
errno: 1

案例2——凯特:我尝试在 Kate 中打开一些东西,看看 Sublime 是否只是愚蠢而已。我仍然无法编辑现有文件,但我可以毫无问题地创建新文件在凯特。

当 Kate 尝试保存编辑时,在警告框中显示以下消息:

截屏

The document could not be saved, as it was not possible to write to /home/ben/sshfs/html/foo.
Check that you have write access to this file or that enough disk space is available.

案例 3-Vim:事情开始变得不那么合理了。我尝试在本地机器上使用 Vim

$ vim ~/sshfs/html/foo

令人惊讶的是,我使用 Vim 完全没有遇到任何问题。它可以毫无问题地打开、编辑、保存和创建文件。使用 shell 命令(例如)时也没有遇到任何问题touch

需要考虑的事情

  • 群组访问
    • 该组developers有权访问我想要编辑的所有文件。
    • 我的本地用户是该组的成员developers
    • 我的远程用户(我通过 SSH 登录的帐户)是该组的成员developers
    • 该组developers在服务器和我的本地机器上都存在,并且具有相同的 ID。
  • 其他事情
    • 我在几台服务器上有多个目录,我都是这样使用的。其他服务器上的其他目录都没有给我带来任何问题。
  • $ ls -l在挂载点内的本地主机上运行:

输出

drwxrwxr-x 1 root developers  4096 Sep  8 06:47 admin
drwxrwxr-x 1 root developers  4096 Jun  4  2013 agent_submit
-rwxrwxr-x 1 root developers  6605 Jun  4  2013 authorize.php
  • $ ls -l通过 ssh shell 在远程主机上运行:

输出

drwxrwxr-x 10 root developers  4096 Sep  8 06:47 admin
drwxrwxr-x  2 root developers  4096 Jun  4  2013 agent_submit
-rwxrwxr-x  1 root developers  6605 Jun  4  2013 authorize.php

答案1

sshfs -o workaround=rename user@host:/var/www/html ~/sshfs/html

资料来源:

相关内容