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



我已经使用S3FS有一段时间了(自2010年以来),并且由于我需要使用"允许所有用户读/写"而卡在v1.61上。我将它用作"全局文件共享"(SAN),并在10多个服务器上挂载(/etc/fstab)相同的3个桶。不同的服务(用户)从它读取/写入,主要是Nginx/PHP-FPM (www-data with uid=33/gid=33),但也有automysqlbackup和git,所以使用"公共读写"访问挂载点是很方便的

我要做的是升级到最新的1.74版本(由于do VPS上的内存峰值,s3fs占用了500Mb内存中的480Mb),但文件权限有问题。我还发现,从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= yet

当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.74+表示下面的2个链接
    • https://github.com/s3fs-fuse/s3fs-fuse/archive/master.zip
    • git clone https://github.com/s3fs-fuse/s3fs-fuse.git(现在可能是1.77 ?)
  • url=https://aws.amazon.com似乎也坏了

谢谢,克里斯。

这里有几个不同的权限:

  • -o default_acl控制S3服务器的访问控制。将其设置为public-read-write将允许非s3fs工具读取和写入对象。
  • -o umask允许在挂载点
  • 内设置对象的掩码
  • -o mp_umask允许设置挂载点目录
  • 的掩码
  • -o allow_other允许非挂载用户访问挂载路径,但不能访问
  • 下面的对象
如果你设置了-o umask=0022,这将允许其他用户读取文件,但不能写入文件。

相关内容

  • 没有找到相关文章

最新更新