拒绝 root 访问用户挂载的 FUSE 文件系统

拒绝 root 访问用户挂载的 FUSE 文件系统

首先让我向您介绍我的设置细节:

我在 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_otherSSHFS

这样做是为了防止 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

相关内容