【s3cmd】文件名一个空格带来的烦恼

正常使用的 Ceph RGW,还有正常使用的 s3cmd,突然今天碰到一个用户反馈说,在使用 s3cmd get 时候出现大量的404,也就是下载对象 Object 的时候发现对象不存在。

这个问题很有意思,之前都没有遇到过,于是看了一下用户的文件,发现了一些端倪。
【s3cmd】文件名一个空格带来的烦恼
划红线的文件名,居然带空格…Fine,既然是用户能上传上来的,那么我们就应该可以让用户下载了。可以判断到的是因为文件名带空格,所以在 get 的时候我才 s3cmd 没有处理这部分的内容,所以自动截断了,因为截断之后的对象肯定是不存在的,于是就报404了。
【s3cmd】文件名一个空格带来的烦恼
研究了一下,发现我们提供的默认的 s3cmd 的版本是1.6的,其实这个版本比较低了,而且经常有问题,所以测试了一下2.1的版本,已经修复了这个问题了,于是这个问题就顺利解决了。