I began attempting to use s3fs yesterday, and have since then spent the majority of my time attempting to sort out permissions.
I followed the instructions at Installation Notes for building from the github repository _(I checked out the v1.77 tag)_ on Ubuntu 14.04.
However, regardless of how I mount my bucket, I can not get access for anyone other than root, or a user specified via uid=. When specifying gid= along with the ever preset allow_other I can see the group is properly set, however, members of the group can not access anything, only the uid.
There appears to be very minimal documentation on the allow_other option and googling brings me a handful of stackoverflow questions that marginally speak to the issue. I can only assume that this typically just works, but I'm hopeful that someone might point me towards a solution.
I've ensured /etc/fuse.conf is properly configured, I prefer mounting as root from /etc/fstab, and I feel like I've exhausted every mount option available in my pursuit of configuring the mounted bucket for read access from others.
Thanks in advance!
It is perhaps noteworthy that I'm using s3fs to mount a bucket that has a few thousand objects already present, and that new object in this bucket will be inserted via another process. The s3fs is effectively a read-only mount for this use case.
This perhaps means that some headers are missing from my objects? If so, which ones, and how can I set them programatically when I create the new objects (which, as noted earlier, will be a different process)?
I've since discovered that adding umask=0002 to the mount options solves my access issues. I'll close this now. However, I suggest that it is worth adding something to documentation with regards to how one handles permissions on buckets that have been pre-populated. Thanks again.
Thank you, had the same problem as bubba-h57 and adding -o umask=0002 fixed the problem. After adding your user to the fuse group and allowing fuse to user_allow_other in /etc/fuse.conf the s3fs string then becomes:
s3fs -o allow_other -o umask=0002 [bucket-name] [mount-folder]
Problem solved!
Most helpful comment
I've since discovered that adding
umask=0002to the mount options solves my access issues. I'll close this now. However, I suggest that it is worth adding something to documentation with regards to how one handles permissions on buckets that have been pre-populated. Thanks again.