s3fs public-read-write(1.74+)vs allow_other(v1.61)

时间:2014-08-14 18:06:57

标签: s3fs

我已经使用S3FS一段时间了(自2010+以来)并因为我需要使用“允许所有用户读/写”而陷入v1.61。我将它用作“全局文件共享”(SAN)并在10+服务器上安装(/ etc / fstab)相同的3个桶。不同的服务(用户)从中读取/写入,主要是Nginx / PHP-FPM(www-data with uid = 33 / gid = 33),还有automysqlbackup和git,因此使用“public-read-write”访问很方便到挂载点

我要做的是升级到最新的1.74版本(由于DO VPS上的内存峰值,s3fs占用了480Mb的500Mb内存)但是文件权限有问题。我也发现1.74坐骑的任何写入(目录和文件)都没有显示在1.61坐骑上,所以我必须一次升级服务器(这很好)

v1.61 / etc / fstab config(其中一个坐骑)

s3fs#s3fs-db.example.com /mnt/s3fs-db fuse use_cache=/tmp,allow_other 0 0

v1.74 + / etc / fstab config

s3fs#s3fs-db.example.com /mnt/s3fs-db fuse use_cache=/tmp,allow_other,default_acl=public-read-write,url=https://aws.amazon.com 0 0

注意:没有uid =且没有gid =尚

当1.74+安装目录时,权限为drwxr-x-r-x,当以root身份挂载(/ etc / fstab)时,www-data用户无法写入。

问题:

  • 有没有办法在1.74+版本上模拟1.61的功能......我似乎无法弄清楚如何获得正确的设置。 default_acl = public-read-write似乎是正确的方法。
  • 我应该使用uid =和gid =然后在挂载后对所有挂载点执行chmod -R 777吗?我期待/ etc / fstab为我做这个
  • 我应该查看s3ql或s3backer或riofs以了解我在做什么(SAN-ish)?

其他说明:

谢谢, 克里斯

1 个答案:

答案 0 :(得分:0)

这里有几种不同的权限在起作用:

  • -o default_acl控制来自S3服务器的访问控制。将其设置为public-read-write将允许 non-s3fs 工具读取和写入对象。
  • -o umask允许为安装点内的对象设置掩码
  • -o mp_umask允许设置 mountpoint 目录的掩码
  • -o allow_other允许非安装用户访问安装路径,但不能访问其下方的对象

如果您设置-o umask=0022,这将允许其他用户读取文件但不能写入文件。