首先让我向您介绍我的设置细节:
我在 x86_64 架构上运行 Fedora 13。我使用 sshfs 挂载了一个远程目录:
jim@localsite $ sshfs jim@remotesite:/home/jim /home/jim/remotemount
现在,如果 su 到 root 并尝试读取挂载点下的内容,我会得到:
root@localsite $ ls -l /home/jim/remotemount
ls: cannot access remotemount: Permission denied
root@localsite $ ls -l /home/jim
total 0
drwxrwx---. 1 jim jim 90 Oct 1 12:00 bin
drwxrwx---. 1 jim jim 90 Oct 1 12:00 dev
d?????????? ? ? ? ? ? remotemount
drwxrwx---. 1 jim jim 90 Oct 1 12:00 tmp
看到 root 无法访问 remotemount 目录很奇怪。这是预期的行为吗?如果是,为什么?如果不是,任何关于如何修复它的线索都会有所帮助。谢谢。
答案1
这是 fuse 的安全措施。使用以下方式挂载文件系统时,请传递-o allow_root
或选项:-o allow_other
SSHFS。
这样做是为了防止 root 用户对共享系统进行窥探。
答案2
ls: cannot access system: Permission denied
在 mint/ubuntu 上的 sshfs 之后发现。
sudo adduser <username> fuse
user_allow_other
从文件 /etc/fuse.conf 中的注释中删除。更改 fuse.conf 的权限sudo chmod a+r /etc/fuse.conf
,立即重新启动并执行
sshfs <login>@<ip_of_machine>:<path_to_mount> <mountpoint> -o allow_other