2016-12-10 21 views
5

Tôi mới vào aws cli và tôi đã dành một số tiền hợp lý của thời gian trong documentation nhưng tôi không thể tìm ra cách để thiết lập quyền trên các tập tin sau khi tôi đã tải lên chúng. Vì vậy, nếu tôi tải lên một tập tin với:Làm cách nào để sử dụng aws cli để đặt quyền trên các tệp trong thùng S3?

aws s3 cp assets/js/d3-4.3.0.js s3://example.example.com/assets/js/

và không thiết lập quyền truy cập, tôi cần một cách để cài đặt chúng. Có tương đương với chmod 644 trong cli aws không?

Và cho vấn đề đó có cách nào để xem quyền truy cập không?

Tôi biết tôi có thể sử dụng cờ --acl public-read với aws s3 cp nhưng nếu không, tôi có thể đặt quyền truy cập mà không lặp lại lệnh sao chép đầy đủ không?

Trả lời

8

Hầu hết mọi người bỏ lỡ thực tế rằng awscli hỗ trợ hai nhóm hành động S3: s3s3api.

Bạn có thể sử dụng aws s3api put-object-acl để đặt quyền ACL trên đối tượng hiện có.

+5

Phần thưởng: bạn cũng có thể sử dụng 'get-object-acl' để xem các quyền hiện có. 'aws s3api get-object-acl --bucket bucket.name --key path/to/file.ext' – Amanda

+1

Bất kỳ cách nào để thực hiện việc này cho tất cả các tệp trong một nhóm? CLI dường như không chấp nhận các thẻ hoang dã cho tham số --key. – PrgTrdr

+2

@PrgTrdr Bạn có thể áp dụng chính sách nhóm (xem https://stackoverflow.com/questions/19176926/how-to-make-all-objects-in-aws-s3-bucket-public-by-default) hoặc áp dụng ACL cho mỗi đối tượng, nhưng điều đó phải được thực hiện đối tượng theo đối tượng. Ngoài ra còn có các công cụ của bên thứ ba (chẳng hạn như http://s3browser.com/share-s3-bucket-edit-acls.php). – jarmod

Các vấn đề liên quan