s3cmd 读取配置文件但声称它不存在

s3cmd reads configuration file but claims it doesn't exist

我正在使用 s3cmd 访问我的云提供商提供的 Ceph 存储。为此,我在我的 VM 上创建了一个最小的 .s3cfg 文件。当我尝试列出存储桶时,它声称它找不到配置文件,尽管 --debug 输出显示它正在解析它:

$ s3cmd ls --debug
DEBUG: s3cmd version 1.6.1
DEBUG: ConfigParser: Reading file '/home/ubuntu/.s3cfg'
DEBUG: ConfigParser: access_key->...-3_chars...
DEBUG: ConfigParser: secret_key->...-3_chars...
DEBUG: ConfigParser: enable_multipart->True
DEBUG: ConfigParser: host_base->storage.datacentred.io
DEBUG: ConfigParser: host_bucket->%(bucket)s.storage.datacentred.io
DEBUG: ConfigParser: use_https->True
ERROR: /home/ubuntu/.s3cfg: None
ERROR: Configuration file not available.
ERROR: Consider using --configure parameter to create one.

我正在使用 Ubuntu 16.04.2 LTS。知道我做错了什么吗?是否缺少一个密钥 属性 会使 s3cmd 认为该文件不存在?

前一行 /home/ubuntu/.s3cfg: None 表示解析您的配置文件时出现错误。 None 不幸的是,无论错误是什么,都没有合适的字符串来显示 :-(.

这是 s3cmd 来源的相关块:

try: 
    cfg = Config(options.config, options.access_key, options.secret_key, options.access_token)
except IOError, e:
    if options.run_configure:
        cfg = Config()
    else:
        error(u"%s: %s"  % (options.config, e.strerror))
        error(u"Configuration file not available.")