2

几个小时以来我一直在研究它,但我无法让它工作。

我成功地在一个正在运行的实例上安装了一个现有的 GCS 存储桶(my-bucket)。我和 my_user 能够列出和复制挂载的存储桶中的文件。现在,同一台机器上的另一个用户需要从同一个挂载的存储桶中列出和复制文件,但他收到“权限被拒绝”错误消息。

我在这里阅读了访问权限部分。所以我尝试如下:

  1. 创建了一个名为“bucket-users”的组:sudo groupadd bucket-users
  2. 添加现有用户:sudo useradd -G bucket-users user_name
  3. 使用 --gid 选项安装存储桶: gcsfuse --gid 1008 my-bucket /mnt/my-bucket
  4. 挂载成功:

$ ls -ltr $ drwxr-xr-x 1 my_user bucket-users 0 Sep 16 09:11 my-bucket

结果:我可以在存储桶上工作,但“bucket-users”组中的其他用户不能。

我在哪里错了?

谢谢!

4

1 回答 1

1

您链接到的文档的访问权限部分是这样说的:

作为一项安全措施,fuse 本身将文件系统访问权限限制为安装文件系统的用户(参见fuse.txt)。[...]

如果您知道自己在做什么,则可以使用 fuse [...] 支持的allow_other挂载选项覆盖这些行为。小心,这可能会带来安全隐患!

这不仅仅是关于文件的 UID 和 GID,而是内核本身不会让任何其他人访问文件系统。您可以用 覆盖它-o allow_other,但请注意这可能是一个安全问题。

于 2016-09-19T13:03:40.260 回答