帮助文档 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
帮助文档 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 对象存储
  4. 开发参考
  5. 常用工具
  6. 命令行工具ossutil 1.0
  7. 常用命令
  8. set-acl(设置或修改ACL)

set-acl(设置或修改ACL)

  • 常用命令
  • 发布于 2025-04-21
  • 0 次阅读
文档编辑
文档编辑

ACL是授予存储空间(Bucket)和文件(Object)访问权限的访问策略。您可以在创建Bucket或上传Object时设置ACL,也可以在创建Bucket或上传Object后的任意时间内修改ACL。set-acl命令用于设置或修改Bucket或Object的访问权限ACL。

注意事项

  • 要设置或修改Bucket ACL,您必须具有oss:PutBucketAcl权限;要设置或修改Object ACL,您必须具有oss:PutObjectAcl权限;要批量修改Object ACL,您必须具有oss:PutObjectAcl和oss:ListObjects权限。具体操作,请参见为RAM用户授权自定义的权限策略。

  • 从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。

  • 当您在OSS ON云盒中使用该命令时:

    1. 将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint。

    2. 在本文已有示例的基础上添加--sign-version、--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项。

设置或修改Bucket ACL

  • 命令格式

    ossutil set-acl oss://bucketname acl -b [--retry-times <value>]

    参数及选项说明如下:

    配置项

    说明

    bucketname

    待设置或修改ACL的Bucket名称。

    acl

    Bucket的读写权限ACL。取值如下:

    • private(默认值):只有该Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。

    • public-read:只有Bucket拥有者可以对该Bucket内的文件进行写操作,其他用户(包括匿名访问者)都可以对该Bucket中的文件进行读操作。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

    • public-read-write:任何人(包括匿名访问者)都可以对该Bucket内文件进行读写操作。这有可能造成您数据的外泄以及费用激增,请谨慎操作。

    -b

    不添加此选项,默认对Object设置ACL。如果需要对Bucket设置ACL时,须添加此选项。

    --retry-times

    发生错误后的重试次数。默认值为10,取值范围为1~500。

  • 使用示例

    设置目标存储空间examplebucket的ACL为private。

    ossutil set-acl oss://examplebucket private -b   

设置或修改Object ACL

  • 命令格式

    ossutil set-acl oss://bucketname[/prefix] acl
    [-r]
    [--include <value>] 
    [--exclude <value>]
    [--version-id <value>]
    [--job <value>] 
    [--retry-times <value>]
    [--encoding-type <value>]

    参数及选项说明如下:

    配置项

    说明

    bucketname

    Bucket名称。

    prefix

    Bucket下的资源,例如目录、文件等。

    acl

    Object的读写权限ACL。取值如下:

    • default:继承Bucket的读写权限。

    • private(默认值):只有该Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。

    • public-read:只有Bucket拥有者可以对该Bucket内的文件进行写操作,其他用户(包括匿名访问者)都可以对该Bucket中的文件进行读操作。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

    • public-read-write:任何人(包括匿名访问者)都可以对该Bucket内文件进行读写操作。这有可能造成您数据的外泄以及费用激增,请谨慎操作。

    -r

    如果指定该选项时,ossutil会对Bucket下所有符合prefix条件的Object设置ACL。如果不指定该选项,则ossutil只对cloud_url中指定的单个Object设置ACL。

    --include

    包含符合指定条件的所有Object。

    更多信息,请参见include和exclude选项。

    --exclude

    不包含任何符合指定条件的Object。

    更多信息,请参见include和exclude选项。

    --version-id

    Object的指定版本ID。仅适用于已开启或暂停版本控制状态Bucket下的Object。

    --job

    多文件操作时的并发任务数,默认值为3,取值范围为1~10000。

    --retry-times

    发生错误后的重试次数。默认值为10,取值范围为1~500。

    --encoding-type

    对oss://bucket_name之后的prefix进行编码,取值为url。如果不指定该选项,则表示prefix未经过编码。

  • 使用示例

    • 将目标存储空间examplebucket下的exampleobject.txt文件的读写权限ACL设置为private。

      ossutil set-acl oss://examplebucket/exampleobject.txt private
    • 将目标存储空间examplebucket下指定版本ID为CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****的exampleobject.txt文件的读写权限ACL设置为private。

      ossutil set-acl oss://examplebucket/exampleobject.txt private --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
    • 将目标存储空间examplebucket下所有符合指定前缀为test的文件读写权限ACL设置为default。

      ossutil set-acl oss://examplebucket/test default -r
    • 将目标存储空间examplebucket下所有后缀为.jpg的文件读写权限设置为private。

      ossutil set-acl oss://examplebucket private --include "*.jpg" -r
    • 将目标存储空间examplebucket下文件名称包含abc,且后缀不是.png和.txt的文件读写权限设置为default。

      ossutil set-acl oss://examplebucket default --include "*abc*" --exclude "*.png" --exclude "*.txt" -r

通用选项

当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。

例如您需要获取另一个阿里云账号下,华东2(上海)地域下名为testbucket的存储空间设置读写权限ACL为private,命令如下:

ossutil set-acl oss://testbucket private -b -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

关于此命令的其他通用选项的更多信息,请参见通用选项。

相关文章

access-monitor(访问跟踪) 2025-04-21 17:21

如果您希望配置基于最后一次访问时间(Last Access Time)策略的生命周期规则来自动监测Bucket中Object的访问模式并识别冷数据,然后将识别出来的冷数据进行存储类型转换,最终降低存储成本。您需要先通过access-monitor命令为Bucket开启访问跟踪。

appendfromfile(追加上传) 2025-04-21 17:21

appendfromfile命令用于在已上传的追加类型文件(Appendable Object)末尾直接追加内容。

bucket-cname(自定义域名) 2025-04-21 17:21

您可以通过bucket-cname命令创建域名所有权验证所需的CnameToken以及管理Cname配置。 注意事项

bucket-encryption(服务器端加密) 2025-04-21 17:21

配置服务器端加密(即Bucket加密)后,OSS对上传的文件(Object)进行加密,再将得到的加密文件持久化保存。下载文件时,OSS自动将加密文件解密后返回给用户。本文介绍如何通过 bucket-encryption命令添加、修改、查询和删除Bucket的加密配置。

bucket-policy(授权策略) 2025-04-21 17:21

Bucket Policy是基于资源的授权策略,Bucket拥有者可以通过Bucket Policy授权其他用户访问OSS指定资源。bucket-policy命令用于添加、修改、查询、删除Bucket授权策略(Bucket Policy)。

bucket-tagging(存储空间标签) 2025-04-21 17:21

您可以通过存储空间(Bucket)的标签功能, 对Bucket进行分类管理,例如对拥有指定标签的Bucket设置访问权限等。bucket-tagging命令用于添加、修改、查询、删除Bucket的标签配置。 注意事项

目录
Copyright © 2025 your company All Rights Reserved. Powered by 博智数字服务平台.
闽ICP备08105208号-1