Howto s3cmd
- Site officiel : https://s3tools.org/s3cmd
- Documentation : https://manpages.debian.org/bookworm/s3cmd/s3cmd.1.en.html
s3cmd
est un client en ligne de commande pour Amazon S3.
Il est donc utilisable avec les services compatible S3 comme Ceph RGW.
Installation
# apt install s3cmd
Configuration
Configurer le client avec la commande s3cmd --configure
.
Seule les lignes où une entrée utilisateur est requise sont affichées.
Une session complète est accessible ici.
$ s3cmd --configure
Access Key: REDACTED
Secret Key: REDACTED
Default Region [US]: default
S3 Endpoint [s3.amazonaws.com]: s3.example.com
DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: s3.example.com
Encryption password:
Path to GPG program [/usr/bin/gpg]:
Use HTTPS protocol [Yes]:
HTTP Proxy server name:
Test access with supplied credentials? [Y/n]
Save settings? [y/N] y
Cette commande crée le fichier ~/.s3cfg
par défaut. Si
on souhaite configurer un autre accès S3, il faut copier le fichier
~/.s3cfg
, car il sera réécrit. Il est possible et
probablement préférable de spécifier un fichier différent de celui par
défaut : s3cmd --config=s3cfg.foo --configure
.
Attention La clé d’accès et la clé secrète sont en clair dans le fichier de configuration.
Utilisation
Dans les exemples qui suivant, foo
est un
bucket.
Lister les objets
$ s3cmd ls s3://foo 2025-04-15 13:37 2718281 s3://foo/bar 2025-04-15 03:14 8284590 s3://foo/baz
Uploader un fichier
$ s3cmd put ./qux s3://foo/ upload: './qux' -> 's3://foo/qux' [1 of 1] 12 of 12 100% in 0s 100.00 B/s done
Supprimer un objet
$ s3cmd rm s3://foo/bar delete: 's3://foo/bar'
Créer un bucket
$ s3cmd mb s3://foo Bucket 's3://foo/' created
Définir une politique pour un bucket
$ vi ./foo-policy $ s3cmd setpolicy ./foo-policy s3://foo