我使用S3FS已经有一段时间了(从2010+开始),由于我需要使用“允许所有用户读/写”,所以我不得不使用v1.61。我使用它作为“全局文件共享”(SAN),并在10+服务器上挂载(/etc/fstab)相同的3个存储桶。不同的服务(用户)从它读/写,主要是Nginx/PHP-FPM (www-数据与uid=33/gid=33),但也自动地使用to备份和git,因此它是方便使用的“公共读写”访问的挂载点(S)。
我想要做的是升级到最新的1.74版本(由于do上的内存尖峰,s3fs占用了500 DO内存中的480 DO),但是文件权限有问题。我还发现1.74挂载的任何写入(目录和文件)都不会出现在1.61挂载上,所以我必须一次升级服务器(这很好)
v1.61 /etc/fstab配置(其中一个挂载)
s3fs#s3fs-db.example.com /mnt/s3fs-db fuse use_cache=/tmp,allow_other 0 0
v1.74+ /etc/fstab配置
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-数据用户无法向其写入。
问题:
其他说明:
谢谢,克里斯
发布于 2019-09-05 03:50:21
这里有几种不同的权限:
-o default_acl控制来自S3服务器的访问控制。将其设置为public-read-write将允许非s3fs工具对对象进行读写。-o umask允许为挂载点内的对象设置掩码。-o mp_umask允许设置挂载点目录的掩码-o allow_other允许非挂载用户访问挂载路径,但不允许访问下面的对象。如果您设置了-o umask=0022,这将允许其他用户读取文件,但不对其进行写入。
https://stackoverflow.com/questions/25314715
复制相似问题