set-acl用于设置存储空间(Bucket)或对象(Object)的访问权限(ACL)。

命令格式

./ossutil set-acl oss://bucket[/prefix] [acl] [-r] [-b] [-f] [-c file]

使用示例

  • 设置Bucket的ACL
    ./ossutil set-acl oss://bucket1 private -b       
    说明 Bucket的ACL可配置为:
    • private:私有
    • public-read:公共读
    • public-read-write:公共读写

    ACL详情请参见基于读写权限ACL的权限控制

  • 设置指定Object的ACL
    ./ossutil set-acl oss://bucket1/path/object private                  
    说明 Object的ACL可配置为:
    • default:继承Bucket
    • private:私有
    • public-read:公共读
    • public-read-write:公共读写
  • 设置指定前缀的所有Object的ACL
    ./ossutil set-acl oss://bucket1/path/ private -r
  • 批量设置指定条件的Object的ACL
    您可以使用--include/--exclude,在设置ACL时选定符合条件的Object。详情请参见过滤选项
    • 将所有文件格式不为jpg的Object读写权限设置为私有
      ./ossutil set-acl oss://my-bucket1/path private --exclude "*.jpg" -r
    • 将所有文件名包含abc且不是jpgtxt格式的Object读写权限设置为私有
      ./ossutil set-acl oss://my-bucket1/path private --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r

常用参数

使用set-acl命令加不同的选项可以针对不同的目标设置ACL,常用选项如下:
参数名称 描述
-r,--recursive 递归进行操作。当指定该选项时,命令会对Bucket下所有符合条件的Object进行操作,否则只对指定的单个Object进行操作。
-b,--bucket 对Bucket进行操作,该选项用于确认操作作用于Bucket。
-f,--force 强制操作,不进行询问提示。
--include 包含对象匹配模式,如:*.jpg。
--exclude 不包含对象匹配模式,如:*.txt。
-j,--jobs 多文件操作时的并发任务数,默认值:3,取值范围:1-10000
--encoding-type 输入或者输出的Object名的编码方式,目前只支持url编码,即指定该选项时,取值为url。如果不指定该选项,则表示Object名未经过编码。Bucket名不支持url编码。
--output-dir 指定输出文件所在的目录,输出文件目前包含:cp命令批量拷贝文件出错时所产生的report文件(关于report文件更多信息,请参考cp命令帮助)。默认值为:当前目录下的ossutil_output目录。
--loglevel 设置日志级别,默认为空,表示不输出日志文件。可选值为:
  • info:输出提示信息日志。
  • debug:输出详细信息日志(包括http请求和响应信息)。
--retry-times 当错误发生时的重试次数,默认值:10,取值范围:1-500。
--proxy-host 网络代理服务器的url地址,支持http、https、socks5。例如http://120.79.**.**:3128、 socks5://120.79.**.**:1080。
--proxy-user 网络代理服务器的用户名,默认为空。
--proxy-pwd 网络代理服务器的密码,默认为空。
说明 更多通用选项请参见查看选项