

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Autorizzazioni POSIX nei file S3
<a name="s3-files-posix-permissions"></a>

I file system POSIX richiedono proprietà e autorizzazioni su ogni file. Amazon S3 archivia i dati come oggetti con accesso controllato da policy IAM e bucket policy e non archivia nativamente la proprietà o gli attributi di autorizzazione dei file. S3 Files colma questa differenza archiviando i metadati POSIX, inclusi i permessi del proprietario, del gruppo e dei file, come metadati definiti dall'utente su ogni oggetto S3. Quando crei o modifichi un file tramite S3 Files, il servizio scrive automaticamente tutti i metadati delle autorizzazioni. Quando un oggetto viene scritto nel bucket S3 all'esterno del file system, ad esempio tramite la console Amazon S3, la AWS CLI AWS o l'SDK, non esistono metadati POSIX su quell'oggetto. S3 Files assegna a tali oggetti un valore predefinito di `root:root` proprietà e `644` autorizzazioni, che consente agli utenti non root di leggere il file ma non di scrivervi. Se queste impostazioni predefinite soddisfano i requisiti di accesso, non è richiesta alcuna azione. Se l'applicazione lo richiede, è possibile sovrascrivere le autorizzazioni predefinite su tali oggetti. Questo tutorial illustra come applicare le autorizzazioni personalizzate.

## In che modo S3 Files archivia i metadati POSIX
<a name="s3-files-posix-permissions-how-stored"></a>

S3 Files memorizza le informazioni POSIX come metadati definiti dall'utente su ciascun oggetto. Le seguenti chiavi di metadati controllano la proprietà e le autorizzazioni:


| Chiave per i metadati | Description | Valore di esempio | 
| --- | --- | --- | 
| x-amz-meta-file-owner | ID utente POSIX (UID) | 1000 | 
| x-amz-meta-file-group | ID di gruppo POSIX (GID) | 1000 | 
| x-amz-meta-file-permissions | Tipo di file e bit di autorizzazione (ottali) | 0100644 | 

Quando un oggetto non ha metadati POSIX, S3 Files applica le seguenti impostazioni predefinite:
+ **File: `root:root` proprietà con autorizzazioni** () `0644` `-rw-r--r--`
+ **Elenchi:** `root:root` proprietà con `0755` autorizzazioni () `drwxr-xr-x`

In base a queste impostazioni predefinite, tutti gli utenti possono leggere i file e navigare tra le directory, ma solo il proprietario (root) può scrivere. Per impostazione predefinita, i file non sono eseguibili.

## Impostazione dei metadati POSIX su oggetti esistenti
<a name="s3-files-posix-permissions-existing-objects"></a>

Utilizzate la seguente procedura per applicare la proprietà e le autorizzazioni POSIX agli oggetti già esistenti nel bucket.

### Passaggio 1: Identifica l'UID e il GID dell'utente di destinazione
<a name="s3-files-posix-permissions-existing-step1"></a>

Per questo esempio, l'utente di destinazione è `ec2-user` con UID 1000:

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

### Fase 2: Aggiornare i metadati degli oggetti utilizzando copy-object
<a name="s3-files-posix-permissions-existing-step2"></a>

Il `aws s3api copy-object` comando copia l'oggetto al suo posto con i metadati aggiornati. Sostituisci {{BUCKET\_NAME}} e {{OBJECT\_KEY}} con i tuoi valori.

L'`--metadata-directive REPLACE`opzione sostituisce tutti i metadati definiti dall'utente sull'oggetto. Include `--content-type` per preservare il tipo di contenuto dell'oggetto, perché lo `REPLACE` reimposta al valore predefinito (). `binary/octet-stream` Se utilizzate altri campi di metadati, includeteli nel `--metadata` parametro.

```
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"}'
```

### Fase 3: Verifica che i metadati siano stati applicati
<a name="s3-files-posix-permissions-existing-step3"></a>

Esegui il comando seguente per confermare i metadati:

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

La risposta include i metadati 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"
    }
}
```

### Passaggio 4: verifica le autorizzazioni sul file system 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
```

Il file è ora di proprietà di `ec2-user` e non richiede più l'accesso come root.

## Impostazione dei metadati POSIX sui nuovi caricamenti
<a name="s3-files-posix-permissions-new-uploads"></a>

Puoi includere i metadati POSIX quando carichi oggetti nel tuo bucket.

### Usare aws s3 cp
<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"}'
```

### Usare 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"}'
```

### Verifica i metadati sull'oggetto caricato
<a name="s3-files-posix-permissions-new-uploads-verify"></a>

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

## Riferimento ai valori di autorizzazione
<a name="s3-files-posix-permissions-reference"></a>

La tabella seguente elenca i valori di autorizzazione POSIX comuni e i relativi casi d'uso.


| Valore ottale | Modalità file | Caso d’uso | 
| --- | --- | --- | 
| 0100644 | -rw-r--r-- | File standard: proprietario read/write, altri di sola lettura | 
| 0100664 | -rw-rw-r-- | File condiviso: proprietario e gruppo read/write, altri di sola lettura | 
| 0100755 | -rwxr-xr-x | Eseguibile: accesso completo del proprietario, altri leggono ed eseguono | 
| 0100666 | -rw-rw-rw- | World-writable file: tutti gli utenti possono leggere e scrivere | 
| 0040755 | drwxr-xr-x | Cartella standard: accesso completo del proprietario, altri leggono e navigano | 

## Best practice
<a name="s3-files-posix-permissions-best-practices"></a>

Carica i file tramite il file system S3 ogni volta che è possibile. S3 Files archivia automaticamente la proprietà e le autorizzazioni del file come metadati degli oggetti, quindi non sono necessari passaggi aggiuntivi. Quando carichi direttamente nel bucket S3, includi i metadati POSIX nel comando upload per garantire che la proprietà e le autorizzazioni corrette siano impostate fin dall'inizio.