root 用户无法使用 sshfs 在远程计算机上挂载非 root 用户

root 用户无法使用 sshfs 在远程计算机上挂载非 root 用户

我会尽量保持简单。

有效的方法如下:当我以 root 身份使用 sshfs 挂载 root@wherever:/。

但如果我是 root 并尝试 sshfs test@somewhere:/ /home/me/test -o idmap=user

或者

sshfs test@somewhere:/ /home/me/test -o idmap=allow_other

我没有收到任何错误消息,但如果我尝试查看已安装的“测试”目录,我会收到:

ls: reading directory test: Permission denied

另外,当我是 root 时,我可以通过 ssh 进入 test@somewhere,没有问题。我尝试将“user_allow_other”添加到 /etc/fuse.conf,但我认为这并不重要,因为我是 root。

奇怪的是,如果我以非 root 身份安装 test@somewhere,它一分钟前还可以工作,但在我打开一个新终端后,它就停止工作了。

需要说明的是,当我是 root 时,我想挂载 somebody@wherever:/。我不认为这是密码或“密钥”问题,因为我使用不同的远程服务器得到了相同的结果。

我只是给了远程“测试”目录一个文件。我在服务器上使用“测试”,我知道它可以正常工作,直到我弄清楚我做错了什么。

我的本地机器是 Debian Squeeze。我确信解决方案很简单,但 Google 中的大多数问题都试图做相反的事情(以 root 身份工作,但以非 root 身份工作则不行),所以我认为这值得一问。

答案1

问题出在正斜杠上:

sshfs test@somewhere:/ /home/me/test

本来应该:

sshfs test@somewhere: /home/me/test

换句话说,用户“test”无权访问根目录。哎呀。我以为“:/”会将我带到用户“test”的根目录,但显然不是。

我按照以下步骤想到了这个想法: http://www.howtoforge.com/mounting-remote-directories-with-sshfs-on-debian-squeeze

答案2

尝试mkdir /home/me/test/lalal检查您是否有权访问该目录。

相关内容