您可以通过config命令创建配置文件,用于存储OSS访问信息。您可以在使用其他命令时添加-c选项,ossutil将通过指定的配置来访问OSS。

注意 本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门

命令格式

该命令有交互式和非交互式两种用法。交互式用法允许您在使用命令前,通过配置文件完成相关配置项。命令使用过程中,ossutil将直接读取配置文件中的配置。而非交互式用法则需要您在使用命令时,通过选项来指定需要的配置项。相比非交互式用法,交互式用法具有更高的安全性。

该命令的非交互式用法的命令格式如下:

./ossutil64 config 
[-e,--endpoint <value>] 
[-i,--access-key-id <value>] 
[-k,--access-key-secret <value>] 
[-t,--sts-token <value>]
[--ram-role-arn <value>]
[-L language <value>] 
[--output-dir <value>] 
[-c,--config-file <value>]

各选项说明如下:

选项 说明
-e,--endpoint 填写Bucket所在地域的域名信息,详情请参见访问域名和数据中心。您也可以增加http://https://指定ossutil访问OSS使用的协议,默认使用HTTP协议。
-i,--access-key-id 指定配置文件中Credentials选项下的AccessKey ID。有关如何查看AccessKey ID信息的具体步骤,请参见获取AccessKey
-k,--access-key-secret 指定配置文件中Credentials选项下的AccessKey Secret。有关如何查看AccessKey Secret信息的具体步骤,请参见获取AccessKey
-t,--sts-token 访问OSS使用的STSToken,仅在使用STS临时授权方式访问OSS时需要配置此项。有关如何生成STSToken的具体步骤,请参见临时访问凭证
--ram-role-arn RamRoleArn鉴权模式下的RAM角色ARN。仅在使用RAM用户的AssumeRole的方式访问时需要配置此项。
-L language 设置ossutil工具的语言。取值如下:
  • CH(默认值):中文。设置为CH时,请确保您的系统编码方式为UTF-8。
  • EN:英文。
--output-dir 指定输出文件所在的目录,输出文件目前包含cp命令批量拷贝文件出错时所产生的report文件。

默认值:当前目录下的ossutil_output目录。

-c,--config-file ossutil工具的配置文件路径,ossutil启动时将从配置文件读取配置。

使用示例

  • 交互式配置
    ./ossutil64 config
    请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。
    如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径): 
    未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。 
    对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。 
    请输入endpoint:https://oss-cn-shenzhen.aliyuncs.com 
    请输入accessKeyID:yourAccessKeyID 
    请输入accessKeySecret:yourAccessKeySecret
    请输入stsToken:yourStsToken
  • 非交互式配置
    ./ossutil64 config -e oss-cn-beijing.aliyuncs.com -i LTAIbZcdVCmQ**** -k D26oqKBudxDRBg8Wuh2EWDBrM0****  -L CH -c /myconfig

    如果您使用命令时输入了除-L language-c,--config-file以外的任意选项,则进入非交互式模式,所有的配置项需使用选项来指定。

编辑配置文件

对于已经生成的配置文件,您也可以通过直接编辑配置文件来修改OSS访问信息。ossutil工具的配置文件格式如下:
[Credentials]
        language = CH
        endpoint = oss.aliyuncs.com
        accessKeyID = your_accesskey_id
        accessKeySecret = your_accesskey_secret
        stsToken = your_sts_token
        outputDir = your_output_dir
        ramRoleArn = your_ram_role_arn
[Bucket-Endpoint]
        bucket1 = endpoint1
        bucket2 = endpoint2
        ...
[Bucket-Cname]
        bucket1 = cname1
        bucket2 = cname2
        ...
[AkService]
        ecsAk=http://10.255.255.254/latest/meta-data/Ram/security-credentials/EcsRamRoleTesting
  • Bucket-Endpoint:为每个指定的Bucket单独配置Endpoint。
  • Bucket-Cname:为每个指定的Bucket单独配置CNAME域名。关于CNAME域名的更多信息,请参见绑定自定义域名
  • AkService:当您希望使用ECS实例绑定的RAM角色操作OSS时,需配置此项。配置时仅需将EcsRamRoleTesting改为ECS实例绑定的角色名称即可。配置此项后,AccessKey ID、AccessKey Secret、STSToken可不配置。如果配置了AccessKey ID,则AkService的配置将不会生效,而是以配置的AccessKey ID、AccessKey Secret、STSToken进行身份校验。ECS实例绑定RAM角色请参见授予实例RAM角色
注意
  • 在新版本中,ossutil取消了交互式配置中关于Bucket-Endpoint和Bucket-Cname项的配置。您可以在配置文件中对每个Bucket单独指定Endpoint或CNAME。
  • ossutil支持通过不同方式指定Endpoint,Endpoint生效优先级为--endpoint(命令选项) > Bucket-Cname > Bucket-Endpoint > endpoint(Credentials项) 。