

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Autorisations POSIX dans les fichiers S3
<a name="s3-files-posix-permissions"></a>

Les systèmes de fichiers POSIX nécessitent la propriété et des autorisations sur chaque fichier. Amazon S3 stocke les données sous forme d'objets dont l'accès est contrôlé par des politiques IAM et des politiques de compartiment et ne stocke pas de manière native la propriété des fichiers ou les attributs d'autorisation. S3 Files comble cette différence en stockant les métadonnées POSIX, y compris le propriétaire, le groupe et les autorisations de fichier, sous forme de métadonnées définies par l'utilisateur sur chaque objet S3. Lorsque vous créez ou modifiez un fichier via S3 Files, le service écrit automatiquement toutes les métadonnées d'autorisation. Lorsqu'un objet est écrit dans votre compartiment S3 en dehors du système de fichiers, par exemple via la console Amazon S3, la AWS CLI ou le AWS SDK, aucune métadonnée POSIX n'existe sur cet objet. S3 Files attribue à ces objets une valeur de `root:root` propriété et d'`644`autorisations par défaut, ce qui permet aux utilisateurs non root de lire le fichier mais pas d'y écrire. Si ces valeurs par défaut répondent à vos exigences d'accès, aucune action n'est requise. Si votre application l'exige, vous pouvez annuler les autorisations par défaut sur ces objets. Ce didacticiel explique comment appliquer des autorisations personnalisées.

## Comment S3 Files stocke les métadonnées POSIX
<a name="s3-files-posix-permissions-how-stored"></a>

S3 Files stocke les informations POSIX sous forme de métadonnées définies par l'utilisateur sur chaque objet. Les clés de métadonnées suivantes contrôlent la propriété et les autorisations :


| Clé de métadonnées | Description | Exemple de valeur | 
| --- | --- | --- | 
| x-amz-meta-file-owner | ID utilisateur POSIX (UID) | 1000 | 
| x-amz-meta-file-group | ID de groupe POSIX (GID) | 1000 | 
| x-amz-meta-file-permissions | Type de fichier et bits d'autorisation (octal) | 0100644 | 

Lorsqu'un objet ne possède aucune métadonnée POSIX, S3 Files applique les valeurs par défaut suivantes :
+ **Fichiers :** `root:root` propriété avec `0644` autorisations (`-rw-r--r--`)
+ **Répertoires :** `root:root` propriété avec `0755` autorisations (`drwxr-xr-x`)

Avec ces valeurs par défaut, tous les utilisateurs peuvent lire des fichiers et parcourir des répertoires, mais seul le propriétaire (root) peut écrire. Les fichiers ne sont pas exécutables par défaut.

## Configuration des métadonnées POSIX sur des objets existants
<a name="s3-files-posix-permissions-existing-objects"></a>

Utilisez la procédure suivante pour appliquer la propriété et les autorisations POSIX aux objets qui existent déjà dans votre compartiment.

### Étape 1 : identifier l'UID et le GID de l'utilisateur cible
<a name="s3-files-posix-permissions-existing-step1"></a>

Dans cet exemple, l'utilisateur cible possède `ec2-user` l'UID 1000 :

```
$ id ec2-user
uid=1000(ec2-user) gid=1000(ec2-user) groups=1000(ec2-user)
```

### Étape 2 : Mettre à jour les métadonnées de l'objet à l'aide de copy-object
<a name="s3-files-posix-permissions-existing-step2"></a>

La `aws s3api copy-object` commande copie l'objet sur place avec des métadonnées mises à jour. Remplacez {{BUCKET\_NAME}} et {{OBJECT\_KEY}} par vos valeurs.

L'`--metadata-directive REPLACE`option remplace toutes les métadonnées définies par l'utilisateur sur l'objet. Inclure `--content-type` pour préserver le type de contenu de l'objet, car il `REPLACE` rétablit sa valeur par défaut (`binary/octet-stream`). Si vous utilisez d'autres champs de métadonnées, incluez-les dans le `--metadata` paramètre.

```
aws s3api copy-object \
    --bucket BUCKET_NAME \
    --key OBJECT_KEY \
    --copy-source BUCKET_NAME/OBJECT_KEY \
    --metadata-directive REPLACE \
    --content-type CONTENT_TYPE \
    --metadata '{"file-owner":"1000", "file-group":"1000", "file-permissions":"0100644"}'
```

### Étape 3 : vérifier que les métadonnées ont été appliquées
<a name="s3-files-posix-permissions-existing-step3"></a>

Exécutez la commande suivante pour confirmer les métadonnées :

```
aws s3api head-object --bucket BUCKET_NAME --key OBJECT_KEY
```

La réponse inclut vos métadonnées POSIX :

```
{
    "AcceptRanges": "bytes",
    "LastModified": "Mon, 18 May 2026 14:43:00 GMT",
    "ContentLength": 7214,
    "ETag": "\"abc123...\"",
    "ContentType": "image/png",
    "Metadata": {
        "file-owner": "1000",
        "file-group": "1000",
        "file-permissions": "0100644"
    }
}
```

### Étape 4 : vérifier les autorisations sur le système de fichiers S3
<a name="s3-files-posix-permissions-existing-step4"></a>

```
$ ls -ltr /mnt/s3files/
-rw-r--r--. 1 ec2-user ec2-user 7214 May 18 14:43 s3.png
```

Le fichier appartient désormais à root `ec2-user` et n'a plus besoin d'y accéder.

## Configuration des métadonnées POSIX sur les nouveaux téléchargements
<a name="s3-files-posix-permissions-new-uploads"></a>

Vous pouvez inclure des métadonnées POSIX lorsque vous chargez des objets dans votre bucket.

### Utilisation d'AWS S3 PC
<a name="s3-files-posix-permissions-new-uploads-cp"></a>

```
aws s3 cp localfile.txt s3://BUCKET_NAME/localfile.txt \
    --metadata '{"file-owner":"1000", "file-group":"1000", "file-permissions":"0100644"}'
```

### Utilisation d'aws s3api put-object
<a name="s3-files-posix-permissions-new-uploads-put"></a>

```
aws s3api put-object \
    --bucket BUCKET_NAME \
    --key localfile.txt \
    --body localfile.txt \
    --metadata '{"file-owner":"1000", "file-group":"1000", "file-permissions":"0100644"}'
```

### Vérifier les métadonnées de l'objet chargé
<a name="s3-files-posix-permissions-new-uploads-verify"></a>

```
aws s3api head-object --bucket BUCKET_NAME --key localfile.txt
```

## Référence aux valeurs d'autorisation
<a name="s3-files-posix-permissions-reference"></a>

Le tableau suivant répertorie les valeurs d'autorisation POSIX courantes et leurs cas d'utilisation.


| Valeur octale | Mode fichier | Cas d’utilisation | 
| --- | --- | --- | 
| 0100644 | -rw-r--r-- | Fichier standard : propriétaire read/write, autres en lecture seule | 
| 0100664 | -rw-rw-r-- | Fichier partagé : propriétaire et groupe read/write, autres en lecture seule | 
| 0100755 | -rwxr-xr-x | Exécutable : accès complet du propriétaire, lecture et exécution par les autres | 
| 0100666 | -rw-rw-rw- | World-writable fichier : tous les utilisateurs peuvent lire et écrire | 
| 0040755 | drwxr-xr-x | Répertoire standard : accès complet du propriétaire, lecture et traversée par les autres | 

## Bonnes pratiques
<a name="s3-files-posix-permissions-best-practices"></a>

Téléchargez des fichiers via le système de fichiers S3 dans la mesure du possible. S3 Files enregistre automatiquement la propriété et les autorisations du fichier sous forme de métadonnées d'objet. Aucune étape supplémentaire n'est donc requise. Lors du téléchargement direct vers le compartiment S3, incluez les métadonnées POSIX dans la commande de téléchargement pour vous assurer que la propriété et les autorisations appropriées sont définies dès le départ.