我已经使用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用户无法写入。
问题:
其他说明:
谢谢, 克里斯
答案 0 :(得分:0)
这里有几种不同的权限在起作用:
-o default_acl
控制来自S3服务器的访问控制。将其设置为public-read-write
将允许 non-s3fs 工具读取和写入对象。-o umask
允许为安装点内的对象设置掩码-o mp_umask
允许设置 mountpoint 目录的掩码-o allow_other
允许非安装用户访问安装路径,但不能访问其下方的对象如果您设置-o umask=0022
,这将允许其他用户读取文件但不能写入文件。