

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à.

# AppSpec sezione 'permessi' (solo distribuzioni EC2/locali)
<a name="reference-appspec-file-structure-permissions"></a>

La `'permissions'` sezione specifica in che modo le eventuali autorizzazioni speciali devono essere applicate ai file e directories/folders nella sezione dopo che sono state copiate nell'`'files'`istanza. Puoi specificare più istruzioni `object`. Questa sezione è facoltativa. Si applica solo alle istanze Amazon Linux, Ubuntu Server e RHEL.

**Nota**  
La `'permissions'` sezione viene utilizzata solo per le distribuzioni EC2/on-premise. Non viene utilizzato per le implementazioni AWS Lambda o Amazon ECS.

Questa sezione ha la seguente struttura:

```
permissions:
  - object: object-specification
    pattern: pattern-specification
    except: exception-specification
    owner: owner-account-name
    group: group-name
    mode: mode-specification
    acls: 
      - acls-specification 
    context:
      user: user-specification
      type: type-specification
      range: range-specification
    type:
      - object-type
```

Sono disponibili le seguenti istruzioni:
+ `object`: obbligatorio È un set di oggetti del file system (file o directory/cartelle) a cui vengono applicate le autorizzazioni specificate dopo che gli oggetti del file system sono stati copiati nell'istanza.

  Specificare `object` con una stringa.
+ `pattern` : Opzionale. Specifica un modello per applicare le autorizzazioni. Se non è specificato o è specificato con i caratteri speciali **"\$1\$1"**, le autorizzazioni vengono applicate a tutti i file o le directory corrispondenti, a seconda del `type`. 

  Specifica `pattern` con una stringa tra virgolette ("").
+ `except` : Opzionale. Specifica i file o le directory che sono eccezioni di `pattern`. 

  Specifica `except` con un elenco di stringhe separate da virgola tra parentesi quadre.
+ `owner` : Opzionale. Il nome del proprietario di `object`. Se non specificato, tutti i proprietari esistenti applicati alla struttura di directory/cartelle o file originale rimangono invariati dopo l'operazione di copia.

  Specificare `owner` con una stringa.
+ `group` : Opzionale. Il nome del gruppo per `object`. Se non specificato, tutti i gruppi esistenti applicati alla struttura di directory/cartelle o file originale rimangono invariati dopo l'operazione di copia.

  Specificare `group` con una stringa.
+ `mode` : Opzionale. Un valore numerico che specifica le autorizzazioni a cui applicare. `object` L'impostazione della modalità segue la sintassi del comando Linux chmod.
**Importante**  
Se il valore include uno zero iniziale, è necessario racchiuderlo tra virgolette doppie o rimuovere lo zero iniziale in modo che rimangano solo tre cifre.
**Nota**  
La notazione simbolica, ad esempio, non **u\$1x** è supportata per l'impostazione. `mode`

  Esempi:
  + `mode: "0644"`fornisce autorizzazioni di lettura e scrittura al proprietario dell'oggetto (6), autorizzazioni di sola lettura al gruppo (4) e autorizzazioni di sola lettura a tutti gli altri utenti (4).
  + `mode: 644`concede le stesse autorizzazioni di. `mode: "0644"`
  + `mode: 4755`imposta l'attributo setuid (4), fornisce i permessi di controllo completo al proprietario (7), fornisce i permessi di lettura ed esecuzione al gruppo (5) e fornisce i permessi di lettura ed esecuzione a tutti gli altri utenti (5).

    Per altri esempi, consultate la documentazione del comando Linux chmod.

    Se la modalità non è specificata, tutte le modalità esistenti applicate alla struttura originale del file o della cartella rimangono invariate dopo l'operazione di copia.
+ `acls` : Opzionale. Elenco di stringhe di caratteri che rappresenta una o più voci della lista di controllo accessi (ACL) applicate a `object`. Ad esempio, **u:bob:rw** rappresenta le autorizzazioni di lettura e scrittura per l'utente **bob**. Per ulteriori informazioni, consulta gli esempi del formato per le voci ACL nella documentazione del comando `setfacl` di Linux. Puoi specificare più voci ACL. Se non `acls` è specificata, le eventuali strutture esistenti ACLs applicate al file o alla directory/folder struttura originale rimangono invariate dopo l'operazione di copia. Questi sostituiscono quelli esistenti ACLs.

  Specifica `acls` con un trattino (-) seguito da uno spazio e quindi da una stringa, ad esempio, `- u:jane:rw`. Se hai più liste ACL, ogni lista viene specificata su una riga separata.
**Nota**  
L'impostazione di utenti senza nome, gruppi senza nome o altre voci ACL simili causa un errore nel AppSpec file. Utilizza `mode` per specificare i tipi di autorizzazione.
+ `context` : Opzionale. Per le istanze che supportano Security-Enhanced Linux (SELinux), un elenco di etichette di contesto rilevanti per la sicurezza da applicare agli oggetti copiati. Le etichette vengono specificate come chiavi contenenti `user`, `type` e `range`. (Per ulteriori informazioni, consultate la documentazione.) SELinux Ogni chiave viene specificata con una stringa. Se non specificato, le etichette esistenti applicate al file o alla directory/folder struttura originale rimangono invariate dopo l'operazione di copia.
  + `user` : Opzionale. L' SELinux utente.
  + `type` : Opzionale. Il nome del SELinux tipo.
  + `range` : Opzionale. L'identificatore dell' SELinux intervallo. Questo ha effetto solo se Multi-Level Security (MLS) e Multi-Category Security (MCS) sono abilitati sul computer. Se non è abilitata, l’impostazione di `range` è predefinita su **s0**.

  Specificare `context` con una stringa (ad esempio, `user: unconfined_u`). Ogni `context` viene specificato su una riga separata.
+ `type` : Opzionale. I tipi di oggetti a cui si applicano le autorizzazioni specificate. `type` è una stringa che può essere impostata su **file** o **directory**. Se **file** è specificato, le autorizzazioni vengono applicate solo ai file contenuti direttamente in `object` dopo l'operazione di copia (e non a `object` stesso). Se **directory** specificato, i permessi vengono applicati in modo ricorsivo a tutto ciò directories/folders che si trova in un punto qualsiasi `object` dopo l'operazione di copia (ma non a se stesso). `object`

  Specifica `type` con un trattino (-) seguito da uno spazio e quindi da una stringa, ad esempio, `- file`.

## Esempio di sezione 'Autorizzazioni'
<a name="reference-appspec-file-structure-permissions-example"></a>

L'esempio seguente mostra come specificare la sezione `'permissions'` con le istruzioni `object`, `pattern`, `except`, `owner`, `mode` e `type`. Questo esempio si applica solo alle istanze Amazon Linux, Ubuntu Server e RHEL. In questo esempio presupponiamo che i file e le cartelle seguenti siano copiati nell'istanza in questa gerarchia:

```
/tmp
  `-- my-app
       |-- my-file-1.txt
       |-- my-file-2.txt
       |-- my-file-3.txt
       |-- my-folder-1
       |     |-- my-file-4.txt
       |     |-- my-file-5.txt
       |     `-- my-file-6.txt
       `-- my-folder-2
             |-- my-file-7.txt
             |-- my-file-8.txt
             |-- my-file-9.txt
	           `-- my-folder-3
```

Il AppSpec file seguente mostra come impostare le autorizzazioni per questi file e cartelle dopo che sono stati copiati:

```
version: 0.0
os: linux
# Copy over all of the folders and files with the permissions they
#  were originally assigned.
files:
  - source: ./my-file-1.txt
    destination: /tmp/my-app
  - source: ./my-file-2.txt
    destination: /tmp/my-app
  - source: ./my-file-3.txt
    destination: /tmp/my-app
  - source: ./my-folder-1
    destination: /tmp/my-app/my-folder-1
  - source: ./my-folder-2
    destination: /tmp/my-app/my-folder-2
# 1) For all of the files in the /tmp/my-app folder ending in -3.txt
#  (for example, just my-file-3.txt), owner = adm, group = wheel, and
#  mode = 464 (-r--rw-r--).
permissions:
  - object: /tmp/my-app
    pattern: "*-3.txt"
    owner: adm
    group: wheel
    mode: 464
    type:
      - file
# 2) For all of the files ending in .txt in the /tmp/my-app
#  folder, but not for the file my-file-3.txt (for example,
#  just my-file-1.txt and my-file-2.txt),
#  owner = ec2-user and mode = 444 (-r--r--r--).
  - object: /tmp/my-app
    pattern: "*.txt"
    except: [my-file-3.txt]
    owner: ec2-user
    mode: 444
    type:
      - file
# 3) For all the files in the /tmp/my-app/my-folder-1 folder except
#  for my-file-4.txt and my-file-5.txt, (for example,
#  just my-file-6.txt), owner = operator and mode = 646 (-rw-r--rw-).
  - object: /tmp/my-app/my-folder-1
    pattern: "**"
    except: [my-file-4.txt, my-file-5.txt]
    owner: operator
    mode: 646
    type:
      - file
# 4) For all of the files that are immediately under
#  the /tmp/my-app/my-folder-2 folder except for my-file-8.txt,
#  (for example, just my-file-7.txt and
#  my-file-9.txt), owner = ec2-user and mode = 777 (-rwxrwxrwx).
  - object: /tmp/my-app/my-folder-2
    pattern: "**"
    except: [my-file-8.txt]
    owner: ec2-user
    mode: 777
    type:
      - file
# 5) For all folders at any level under /tmp/my-app that contain
#  the name my-folder but not
#  /tmp/my-app/my-folder-2/my-folder-3 (for example, just
#  /tmp/my-app/my-folder-1 and /tmp/my-app/my-folder-2),
#  owner = ec2-user and mode = 555 (dr-xr-xr-x).
  - object: /tmp/my-app
    pattern: "*my-folder*"
    except: [tmp/my-app/my-folder-2/my-folder-3]
    owner: ec2-user
    mode: 555
    type:
      - directory
# 6) For the folder /tmp/my-app/my-folder-2/my-folder-3,
#  group = wheel and mode = 564 (dr-xrw-r--).
  - object: /tmp/my-app/my-folder-2/my-folder-3
    group: wheel
    mode: 564
    type:
      - directory
```

Le autorizzazioni risultanti sono le seguenti:

```
-r--r--r-- ec2-user root  my-file-1.txt
-r--r--r-- ec2-user root  my-file-2.txt
-r--rw-r-- adm      wheel my-file-3.txt

dr-xr-xr-x ec2-user root  my-folder-1
-rw-r--r-- root     root  my-file-4.txt
-rw-r--r-- root     root  my-file-5.txt
-rw-r--rw- operator root  my-file-6.txt

dr-xr-xr-x ec2-user root  my-folder-2
-rwxrwxrwx ec2-user root  my-file-7.txt
-rw-r--r-- root     root  my-file-8.txt
-rwxrwxrwx ec2-user root  my-file-9.txt

dr-xrw-r-- root     wheel my-folder-3
```

L'esempio seguente mostra come specificare la sezione `'permissions'` con l'aggiunta delle istruzioni `context` e `acls`. Questo esempio si applica solo alle istanze Amazon Linux, Ubuntu Server e RHEL.

```
permissions:
  - object: /var/www/html/WordPress
    pattern: "**"
    except: [/var/www/html/WordPress/ReadMe.txt]
    owner: bob
    group: writers
    mode: 644
    acls: 
      - u:mary:rw
      - u:sam:rw
      - m::rw
    context:
      user: unconfined_u
      type: httpd_sys_content_t
      range: s0
    type:
      - file
```