我的 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
?