我有Ubuntu 12.04 EC2实例,对于我的域,我有一个WordPress网站。
我的 S3fs 版本
Amazon Simple Storage Service File System 1.74
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
最近,我创建了一个名为 mybucket
的 s3 存储桶,并以以下路径/var/www/my-domain/mybucket 挂载在 EC2 实例中,并引用了链接 http://tecadmin.net/mount-s3-bucket-centosrhel-ubuntu-using-s3fs/并使用/etc/fstab 和以下命令进行远程挂载
s3fs#mybucket /var/www/mydomain/mybucket fuse netdev,use_cache=/tmp/cache,use_rrs=1,allow_other 0 0
当我尝试以下命令更改所有权时
chown myuser:daemon /var/www/my-domain/mybucket
我收到以下错误
chown: changing ownership of ‘/var/www/my-domain/mybucket’: Input/output error
此外,当我通过 S3 浏览器上传任何内容(如图像、文件等)时,如果通过在 EC2 的 S3 挂载文件夹中提供 ls -all 来检查该内容意味着我正在获得以下输出
---------- 1 root root 10 Jan 7 08:33 New Text Document.txt
我的域有FTP,当我使用Filezilla等FTP客户端将内容上传到S3挂载的文件夹/var/www/my-domain/mybucket时,我收到以下错误。
Response: 500 OOPS: ftruncate
Error: Critical file transfer error
Response: 500 OOPS: priv_sock_get_cmd
Error: Connection closed by server
我的问题是
- 如何在 EC2 实例中更改 S3 存储桶挂载文件夹的权限。
- 如何将内容上传到 S3 存储桶,使其具有正常的文件权限。(我建议像普通文件夹一样使用 filezilla 上传)
- 我可以使用 S3 存储桶文件夹内容的 URL 是什么 mydomain.com/mybucket 或者是否有任何其他 URL 可以通过 web(Apache) 访问
- 如何解决文件zilla 500 OOPS错误
请帮助我解决上述问题,我在过去 1 周内一直在研究这个问题,并搜索了很多文章,没有任何帮助。
s3fs
(Fuse over S3) 作为访问 Amazon S3 的一种方式。
Amazon S3 不是传统的文件系统。虽然 s3fs 试图让 S3 看起来像一个文件系统,但也有一些重要的区别,例如配置安全性的方式以及 S3 在对象级别工作的事实——更改一个字节需要重写整个对象。
如今,最好使用 AWS 命令行界面 (CLI),它可以上传、下载文件并与 S3(甚至在 S3 存储桶之间)同步文件,而不是将其视为文件系统。这将提供与 S3 的更可靠的连接。
S3FS 存储它在 S3 用户元数据中创建的对象的权限。 当这些字段不存在时,通常是因为另一个程序创建了对象,它默认为 000 权限。 您可以使用 FUSE -o umask
选项来覆盖它,该选项会反转其八进制字段。 例如,要使用用户读写-执行和组读-执行覆盖对象权限,请使用 -o umask=027
装载。