使用 google-drive-ocamlfuse 安装 Google Drive

使用 google-drive-ocamlfuse 安装 Google Drive

我已经关注了这些指示使用 google-drive-ocamlfuse 在无头服务器上安装 Google Drive 文件夹

但我遇到了一个问题,除非我运行命令将我的 ~/drive 文件夹挂载为 root(通过 sudo),否则它会抛出错误。

(precise)lukes@localhost:~$ google-drive-ocamlfuse -label me ~/drive
/fuse: failed to exec fusermount: No such file or directory

所以我想我需要 root 权限并运行sudo google-drive-ocamlfuse -label me /home/lukes/drive

(precise)lukes@localhost:~$ sudo google-drive-ocamlfuse -label me /home/lukes/drive/
[sudo] password for lukes: 
(precise)lukes@localhost:~$ ls -l
ls: cannot access drive: Permission denied
total 4
drwx--x--- 3 lukes 1001 4096 May 24 17:00 Downloads
d????????? ? ?     ?       ?            ? drive

啊?这是一个看起来很奇怪的输出ls,所以我想因为我将它安装为 root 我需要运行sudo ls -l

(precise)lukes@localhost:~$ sudo ls -l
total 8
drwx--x--- 3 lukes  1001 4096 May 24 17:00 Downloads
drwxrwxr-x 2 lukes lukes 4096 May 24 18:29 drive

因此该drive文件夹拥有正确的所有权。不知道我能做些什么来解决我无法进入它的事实。

注意:我可以sudo su,然后cd drive && ls没有问题,但我无法编辑 Google Drive 文件夹中的任何文件,这违背了首先安装它们的意义。

答案1

当您挂载 FUSE 文件系统时,默认情况下,只有执行挂载的用户才能访问它。您可以通过添加allow_other挂载选项来覆盖这一点,但如果文件系统不是为此设计的(并且大多数通过 FUSE 访问的文件系统不是),这就会存在安全风险:文件权限将允许其他用户执行哪些操作?此外,allow_other除非 root 明确授权,否则只有 root 可以使用。

无论如何,您应该以普通用户身份进行安装,而不是 root 用户。 FUSE 设计为普通用户使用。根据您的发行版以及系统的配置方式,您可能需要加入该fuse组。检查权限/dev/fuse:如果您具有读写权限,则可以使用 FUSE。

无论如何,您收到的错误并不表示权限问题。该命令fusermount应位于每个用户的/bin或中。如果您没有它,最可能的解释是您需要安装它。例如,在 Debian/Ubuntu/... 上,安装该软件包。/usr/bin$PATHfuse

答案2

看起来缺少实际答案,所以我将分享。

您得到的原因:

d????????? ? ?     ?       ?            ? drive

...是因为您的凭据不匹配。安装完成(尝试安装两次会出现错误),但仅此而已。日志 ( ~/.gdfuse/<*label*>/gdfuse.log) 只会给您最微弱的提示。

您需要做的就是确保您的凭据与https://console.developers.google.com其中的内容相符~/.gdrive/<*label*>/config

我的自己改变了,当我把当前的放进去时配置,事情成功了。

答案3

我进入 ~/.gdfuse/default 并将“state”重命名为“state.old”。再次运行 google-drive-ocamlfuse 完成整个身份验证和令牌获取过程,现在一切正常。 ——蒂姆

相关内容