set-acl用于设置存储空间(Bucket)或对象(Object)的访问权限(ACL)。
说明 本文命令均以Linux系统为例,实际使用时,请将命令名称改为您实际可执行程序文件的名称。例如Windows 32位系统的帮助命令为ossutil32.exe help。
命令格式
./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且不是jpg和txt格式的Object读写权限设置为私有
./ossutil set-acl oss://my-bucket1/path private --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
- 将所有文件格式不为jpg的Object读写权限设置为私有
- 在已开启版本控制的Bucket内设置指定版本的Object的ACL
在使用--version-id选项前,需使用ls --all-versions命令获取Object的versionid。./ossutil set-acl oss://bucket1/test.jpg private --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk
说明 --version-id选项仅支持在已开启版本控制的Bucket内使用。开启Bucket版本控制命令请参见bucket-versioning。
常用参数
使用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 | 设置日志级别,默认为空,表示不输出日志文件。可选值为:
|
--retry-times | 当错误发生时的重试次数,默认值:10,取值范围:1-500。 |
--version-id | 操作指定版本的Object,仅支持在已开启版本控制的Bucket内使用。 |
--proxy-host | 网络代理服务器的url地址,支持http、https、socks5。例如http://120.79.**.**:3128、 socks5://120.79.**.**:1080。 |
--proxy-user | 网络代理服务器的用户名,默认为空。 |
--proxy-pwd | 网络代理服务器的密码,默认为空。 |
说明 更多通用选项请参见查看选项。