root 没有看到 FUSE 挂载目录

root 没有看到 FUSE 挂载目录

我的 Debian 机器上有一个服务,将 Google Drive 安装到目录/home/myuser/gdrive

[Unit]
Description=FUSE filesystem over Google Drive
After=network.target

[Service]
User=myuser
Group=myuser
ExecStart=google-drive-ocamlfuse /home/myuser/gdrive
ExecStop=fusermount -u /home/myuser/gdrive
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

我还有一个 cron 作业,用于将目录从一个文件夹复制到gdrive。问题是root用户由于某种原因看不到gdrive目录。

sudo ls -la /home/myuser/
ls: cannot access '/home/myuser/gdrive': Permission denied
total 1700
...
d?????????  ? ?    ?          ?            ? gdrive
...
ls -la ~/
total 1704
...
drwxr-xr-x  2 myuser  myuser     4096 Aug  2 09:24 gdrive

答案1

保险丝座由每个用户负责。

Fuse 有一个 mount 标志,allow_other允许其他用户访问 fuse 安装的文件系统。

只需添加-o allow_other到 mount 命令即可

google-drive-ocamlfuse -o allow_other /home/myuser/gdrive

也可以在 中设置/etc/fuse.conf

答案2

我认为网络挂载通常是针对每个用户的,因为每个用户可能有权访问不同的共享。由于您已将挂载过程设置为以 的身份运行myuser,因此该挂载可能仅适用于myuser。您是否考虑过在上下文中运行您的cron作业myuser

相关内容