I've created a standard Google storage bucket that I'm trying to mount in a CentOS Linux compute engine instance, but the permissions don't seem to let me grant access to users other than the root user (who can read and write to the storage location once it's mounted with gcsfuse). If I try to mount as a non-root user, the gcsfuse command says it completes successfully, but attempts to read or write to the bucket result in I/O errors. I'd appreciate guidance from anyone with Google storage bucket experience mounted in Linux instances.
1 Answers
This is an expected behavior for GCSFuse you can override the permissions with -o allow_other flag as mentioned here:
Permissions and ownership
Inodes
By default, all inodes in a gcsfuse file system show up as being owned by the UID and GID of the gcsfuse process itself, i.e. the user who mounted the file system. All files have permission bits 0644, and all directories have permission bits 0755 (but see below for issues with use by other users). Changing inode mode (using chmod(2) or similar) is unsupported, and changes are silently ignored.
These defaults can be overriden with the --uid, --gid, --file-mode, and --dir-mode flags.
Fuse
The fuse kernel layer itself restricts file system access to the mounting user (cf. fuse.txt). So no matter what the configured inode permissions, by default other users will receive "permission denied" errors when attempting to access the file system. This includes the root user.
This can be overridden by setting -o allow_other to allow other users to access the file system. Be careful! There may be security implications.

- 1,937
- 13
- 18