使用 s3cmd 问题从 s3 下载 zip 文件

Download zip file from s3 using s3cmd issue

我在 bash、linux 和 s3cmd 上有两个问题需要帮助。

首先,我运行正在处理linux权限问题。我正在尝试使用 s3cmd 从 s3 存储桶下载 zip 文件,并在 bash script.sh:

中使用以下命令
/usr/bin/s3cmd get s3://<bucketname>/<folder>/zipfilename.tar.gz

我看到以下错误:permission denied

如果我在 linux 机器上尝试从命令行手动 运行 此命令,它会工作并下载文件:

sudo /usr/bin/s3cmd get s3://<bucketname>/<folder>/zipfilename.tar.gz

我真的不想在脚本中的命令前使用sudo。我如何让这个命令起作用?我是否需要向 script.sh 授予 chown 权限,该 script.sh 实际上位于路径中,即 /foldername/script.sh 或者我如何让这个 get 命令工作?

二:一旦我让这个命令工作,我如何让它从 s3 下载到 linux 主目录:~/?我是否必须在 bash 脚本中专门发出命令:cd ~/ 在上述下载命令之前?

非常感谢任何帮助和指导。

所有人一次问1个问题。

对于第一个,您可以简单地使用 chown 更改权限,例如:

chown “usertorunscript” filename

第二个: 如果它是用户主目录,你可以用

指定它
~user 

如您所说,但我认为写入整个目录更安全,因此它适用于更多用户(如果需要)

首先要确定失败的原因和原因,否则找不到答案。

您可以指定目标,以避免在使用该进程不可写的目录调用脚本时出现权限问题

/usr/bin/s3cmd get s3:////zipfilename.tar.gz /path/to/writeable/destination/zipfilename.tar.gz