使用 s3fs 安装 S3 存储桶时出现问题
Problems mounting a S3 bucket with s3fs
我正在尝试按照此 instruction 在 AWS EC2 实例上安装 S3 存储桶。我能够通过 yum
安装依赖项,然后克隆 git 存储库,然后制作并安装 s3fs
工具。
此外,我确保我的 AWSACCESSKEYID
和 AWSSECRETACCESSKEY
值位于多个位置(因为我无法使该工具工作并且搜索答案建议将文件放在不同的位置)。
- ~/.passwd-s3fs
- /etc/.passwd-s3fs
- ~/.bash_profile
对于.passwd-s3fs
我设置了如下权限。
chmod 600 ~/.passwd-s3fs
chmod 640 /etc/.passwd-s3fs
此外,.passwd-s3fs
文件包含以下格式建议的内容:AWSACCESSKEYID
:AWSSECRETACCESSKEY
.
我也注销并重新登录以确保更改生效。当我执行此命令 /usr/bin/s3fs bucketname /mnt
时,我得到以下响应。
s3fs: MOUNTPOINT: /mnt permission denied.
当我 运行 使用 sudo
相同的命令时,例如sudo /usr/bin/s3fs mybucket /mnt
,我收到以下消息。
s3fs: could not determine how to establish security credentials.
我在以下 AMI ami-0ff8a91507f77f867
(Amazon Linux AMI 2018.03.0.20180811 x86_64 HVM GP2)上使用 s3fs
v1.84。在 S3 的 AWS 控制台中,我的存储桶名称不是 mybucket
,而是一个简单的名称(我想知道命名是否有什么特别之处)。
此外,我的 AWS 访问和秘密密钥对是从 IAM Web 界面生成的,并放入下面定义的管理员组(具有 AdministratorAccess
策略)。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
对发生的事情有什么想法吗?我错过了一步吗?
稍作修改后,我发现以下帮助。
/usr/bin/s3fs mybucket /mnt -o passwd_file=.passwd-s3fs -o allow_other
请注意,我指定了 .passwd-s3fs
文件的位置。还要注意我允许其他人查看坐骑。此外,我必须修改 /etc/fuse.conf 以启用 user_allow_other
.
# mount_max = 1000
user_allow_other
为了测试,我输入了 touch /mnt/README.md
,然后在我的 S3 存储桶 (web UI) 中观察了该文件。
我对这个问题没有更好的记录感到有点失望。我本来希望默认的主位置或 /etc
是工具查找 .passwd-s3fs
文件的位置,但事实并非如此。此外,sudo
(如 link 所建议,我没有添加书签)强制该工具查找 ~/home/root
,它不存在。
对我来说,安装时 IAM 配置文件与 ec2 服务器的 IAM 配置文件不匹配。
EC2 是用 role2 启动的,我正在用
/usr/local/bin/s3fs -o allow_other mybucket /mnt/s3fs/mybucketfolder -o iam_role='role1'
没有通过任何错误但没有安装。
PS
我在 ec2 服务器上没有任何访问密钥或 s3 密码文件。
我正在尝试按照此 instruction 在 AWS EC2 实例上安装 S3 存储桶。我能够通过 yum
安装依赖项,然后克隆 git 存储库,然后制作并安装 s3fs
工具。
此外,我确保我的 AWSACCESSKEYID
和 AWSSECRETACCESSKEY
值位于多个位置(因为我无法使该工具工作并且搜索答案建议将文件放在不同的位置)。
- ~/.passwd-s3fs
- /etc/.passwd-s3fs
- ~/.bash_profile
对于.passwd-s3fs
我设置了如下权限。
chmod 600 ~/.passwd-s3fs
chmod 640 /etc/.passwd-s3fs
此外,.passwd-s3fs
文件包含以下格式建议的内容:AWSACCESSKEYID
:AWSSECRETACCESSKEY
.
我也注销并重新登录以确保更改生效。当我执行此命令 /usr/bin/s3fs bucketname /mnt
时,我得到以下响应。
s3fs: MOUNTPOINT: /mnt permission denied.
当我 运行 使用 sudo
相同的命令时,例如sudo /usr/bin/s3fs mybucket /mnt
,我收到以下消息。
s3fs: could not determine how to establish security credentials.
我在以下 AMI ami-0ff8a91507f77f867
(Amazon Linux AMI 2018.03.0.20180811 x86_64 HVM GP2)上使用 s3fs
v1.84。在 S3 的 AWS 控制台中,我的存储桶名称不是 mybucket
,而是一个简单的名称(我想知道命名是否有什么特别之处)。
此外,我的 AWS 访问和秘密密钥对是从 IAM Web 界面生成的,并放入下面定义的管理员组(具有 AdministratorAccess
策略)。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
对发生的事情有什么想法吗?我错过了一步吗?
稍作修改后,我发现以下帮助。
/usr/bin/s3fs mybucket /mnt -o passwd_file=.passwd-s3fs -o allow_other
请注意,我指定了 .passwd-s3fs
文件的位置。还要注意我允许其他人查看坐骑。此外,我必须修改 /etc/fuse.conf 以启用 user_allow_other
.
# mount_max = 1000
user_allow_other
为了测试,我输入了 touch /mnt/README.md
,然后在我的 S3 存储桶 (web UI) 中观察了该文件。
我对这个问题没有更好的记录感到有点失望。我本来希望默认的主位置或 /etc
是工具查找 .passwd-s3fs
文件的位置,但事实并非如此。此外,sudo
(如 link 所建议,我没有添加书签)强制该工具查找 ~/home/root
,它不存在。
对我来说,安装时 IAM 配置文件与 ec2 服务器的 IAM 配置文件不匹配。
EC2 是用 role2 启动的,我正在用
/usr/local/bin/s3fs -o allow_other mybucket /mnt/s3fs/mybucketfolder -o iam_role='role1'
没有通过任何错误但没有安装。
PS
我在 ec2 服务器上没有任何访问密钥或 s3 密码文件。