如何使用FUSE-S3FS挂载Amazon S3存储桶

4
这让我感到很恼火。虽然我对Linux还有些陌生,但我知道如何完成大部分日常操作。现在我想要做的是将Amazon S3存储桶挂载到我的服务器上的挂载点。
我正在运行Ubuntu服务器12.04版本,已经完全更新。我按照这个指南进行操作:

http://www.craiglotter.co.za/2012/04/20/how-to-install-s3fs-on-an-ubuntu-server/

在我的服务器上安装FUSE和S3FS时出现了“无法建立安全凭证”的错误。我已经在etc文件夹中使用了一个psswd_s3fs文件,并尝试在home文件夹(/home/USERNAME - 这是我放置它的地方)中使用.passwd_s3fs文件。这些文件确实拥有访问密钥ID和秘密访问密钥(ID:ACESSKEY)<-使用的格式。
如果我更改任一文件的chmod,从600到777,它会报告回来说这是错误的,它需要没有其他权限。所以我知道它正在使用这些文件。
那么我做错了什么?
我还创建了一个新用户,我一直在使用的访问详细信息是默认用户登录的详细信息,但它也不起作用。不确定如何将该用户分配给选定的存储桶,或者我必须以其他方式完成?
请帮忙?
更新:
我想知道的是Amazon给我的细节是否正确,因此我下载了TntDrive在Windows中进行测试,没有任何问题。成功挂载了我的驱动器...
3个回答

4
请尝试此链接:http://code.google.com/p/s3fs/wiki/FuseOverAmazon。同时请记住:凭据文件的权限不能太宽松,否则会造成安全漏洞。即使是 ~/.passwd-s3fs 文件也不应该有其他人或组的权限,/etc/passwd-s3fs 文件也不应该有其他人的权限。请相应地设置这些文件的权限:
% chmod 600 ~/.passwd-s3fs
% sudo chmod 640 /etc/passwd-s3fs
如果按照上述操作,应该可以正常工作,这对我来说也有效。

3
请确保您做到以下事项:
1)如果您只有一组凭据,请使用此格式:
accessKeyId:secretAccessKey

2)如果您有多组凭据,也可以使用以下语法:

bucketName:accessKeyId:secretAccessKey

3)密码文件可以存储在两个位置:

/etc/passwd-s3fs     [0640]
$HOME/.passwd-s3fs   [0600]

2

好的,

我不知道为什么会出现这个问题,因为我在Linux中创建了文件,但是我的密码文件基本上没有以Linux可读格式存在。

我使用了do2unix(只需在Google中搜索即可了解它)。 这解决了我的问题,然后我就能看到Amazon S3服务器了。

我遇到的下一个问题是,samba无法共享驱动器,必须在挂载驱动器时使用“-o allow_other”选项。

请注意,您可能需要在fuse.conf中启用“user_allow_other”。 (/etc/fuse.conf)您不能错过该选项,它只是在前面加上一个#,只需删除然后保存即可。

希望这能帮助其他人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接