S3存储桶文件设置类Linux chmod 600权限的等效选项及命令咨询
S3文件ACL权限对应chmod 600的设置方案
对应chmod 600的ACL选项
chmod 600的核心是仅文件所有者拥有读、写权限,其他所有用户(同组、其他用户)均无任何权限。在S3的ACL规则中,private是完全匹配这个行为的:只有该文件的所有者拥有读/写权限,其他任何实体(包括存储桶所有者,若两者不属于同一AWS账号)都无法访问该文件。
而bucket-owner-read会额外赋予存储桶所有者读权限,这相当于给了"外部用户"读权限,不符合chmod 600的严格私有要求。
s3cmd设置命令
设置单个文件权限
s3cmd setacl s3://你的存储桶名称/文件路径 --acl-private
批量设置目录下所有文件权限
s3cmd setacl s3://你的存储桶名称/目录路径/ --acl-private --recursive
验证权限是否生效的方法
1. 查看文件ACL详情
用s3cmd直接查询文件的权限信息:
s3cmd info s3://你的存储桶名称/文件路径
输出内容中会明确显示ACL: private,同时权限列表只会包含所有者的READ和WRITE权限。
2. 模拟无权限访问测试
尝试以匿名身份访问该文件,验证是否会被拒绝:
s3cmd get s3://你的存储桶名称/文件路径 --anonymous
如果权限设置正确,该命令会返回AccessDenied错误,说明非所有者无法访问文件。
另外,也可以用非文件所有者的AWS账号尝试访问该文件,同样会收到访问拒绝的提示。
内容的提问来源于stack exchange,提问作者veera
相关产品推荐
相关产品推荐

