Question
How to set spaces ACL to public
So I set up a space with CDN.
When I copy files to it, they become private by default.
So I set the bucket ACL to public read:
aws s3api --endpoint=https://fra1.digitaloceanspaces.com put-bucket-acl --acl public-read --bucket $MYBUCKETNAME
When I read it back it is indeed public:
aws s3api --endpoint=https://fra1.digitaloceanspaces.com get-bucket-acl --bucket $MYBUCKETNAME
{
"Owner": {
"DisplayName": "REDACTED",
"ID": "REDACTED"
},
"Grants": [
{
"Grantee": {
"Type": "Group",
"URI": "http://acs.amazonaws.com/groups/global/AllUsers"
},
"Permission": "READ"
},
{
"Grantee": {
"Type": "CanonicalUser",
"DisplayName": "REDACTED",
"ID": "REDACTED"
},
"Permission": "FULL_CONTROL"
}
]
}
However, when I copy new files to the bucket, they’re still set to ‘private’. I have to do a recursive set per file, but this takes a long time.
s3cmd setacl s3://$MYBUCKETNAME/ --acl-public --recursive
How can I set the default ACL to public so that new files are public by default?
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
×