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.
AppSpec section « autorisations » (EC2/déploiements sur site uniquement)
La section 'permissions'
spécifie les autorisations spéciales éventuelles qui doivent être appliquées aux fichiers et aux répertoires/dossiers de la section 'files'
après leur copie sur l'instance. Vous pouvez spécifier plusieurs instructions object
. Cette section est facultative. Elle s'applique uniquement à Amazon Linux, Ubuntu Server et aux RHEL instances.
Note
La 'permissions'
section est uniquement utilisée pour les déploiements EC2 /On-Premises. Il n'est pas utilisé pour les AWS déploiements Lambda ou AmazonECS.
Cette section a la structure suivante :
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
Les instructions sont les suivantes :
-
object
: obligatoire. Il s'agit d'un ensemble d'objets de système de fichiers (fichiers ou répertoires/dossiers) auxquels les autorisations spécifiées sont appliquées après la copie des objets de système de fichiers sur l'instance.Spécifiez
object
avec une chaîne. -
pattern
: facultatif. Spécifie un modèle pour appliquer des autorisations. Si elles ne sont pas spécifiées ou si elles sont spécifiées avec les caractères spéciaux"**"
, les autorisations sont appliquées à tous les fichiers ou répertoires correspondants, selon leurtype
.Spécifiez
pattern
avec une chaîne placée entre guillemets (""). -
except
: facultatif. Spécifie les fichiers ou répertoires qui sont des exceptions par rapport àpattern
Spécifiez
except
avec une liste de chaînes séparées par des virgules entre crochets. -
owner
: facultatif. Nom du propriétaire deobject
. Si cette instruction n'est pas spécifiée, tous les propriétaires existants appliqués à la structure de fichiers ou de répertoires/dossiers d'origine restent inchangés après l'opération de copie.Spécifiez
owner
avec une chaîne. -
group
: facultatif. Nom du groupe pourobject
. Si cette instruction n'est pas spécifiée, tous les groupes existants appliqués à la structure de fichiers ou de répertoires/dossiers d'origine restent inchangés après l'opération de copie.Spécifiez
group
avec une chaîne. -
mode
: facultatif. Une valeur numérique spécifiant les autorisations àobject
appliquer. Le réglage du mode suit la syntaxe de la commande Linux chmod.Important
Si la valeur inclut un zéro initial, vous devez l'entourer de guillemets doubles ou supprimer le zéro initial afin qu'il ne reste que trois chiffres.
Note
La notation symbolique telle que celle-ci n'
u+x
est pas prise en charge pour lemode
paramètre.Exemples :
-
mode: "0644"
donne des autorisations de lecture et d'écriture au propriétaire de l'objet (6), des autorisations de lecture seule au groupe (4) et des autorisations de lecture seule à tous les autres utilisateurs (4). -
mode: 644
accorde les mêmes autorisations quemode: "0644"
. -
mode: 4755
définit l'attribut setuid (4), donne des autorisations de contrôle complètes au propriétaire (7), donne des autorisations de lecture et d'exécution au groupe (5) et donne des autorisations de lecture et d'exécution à tous les autres utilisateurs (5).Pour plus d'exemples, consultez la documentation de la commande Linux chmod.
Si aucun mode n'est spécifié, tous les modes existants appliqués à la structure de fichier ou de dossier d'origine restent inchangés après l'opération de copie.
-
-
acls
: facultatif. Liste de chaînes de caractères représentant une ou plusieurs entrées de la liste de contrôle d'accès (ACL) appliquées àobject
. Par exemple,u:bob:rw
représente des autorisations de lecture et d'écriture pour l'utilisateurbob
. (Pour plus d'exemples, consultez les exemples de format ACL d'entrée dans la documentation dessetfacl
commandes Linux.) Vous pouvez spécifier plusieurs ACL entrées. Siacls
ce n'est pas spécifié, toute structure existante ACLs appliquée au fichier ou à la structure de répertoire/dossier d'origine reste inchangée après l'opération de copie. Elles remplacent toutes celles qui existent déjàACLs.Spécifiez
acls
avec un tiret (-) suivi d'un espace, puis d'une chaîne (par exemple,- u:jane:rw
). Si vous en avez plusieursACL, chacune est spécifiée sur une ligne séparée.Note
La définition d'utilisateurs anonymes, de groupes anonymes ou d'autres ACL entrées similaires entraîne l'échec du AppSpec fichier. Utilisez
mode
pour spécifier ces types d'autorisations à la place. -
context
: facultatif. Pour les instances compatibles Security-Enhanced Linux (SELinux), liste d'étiquettes contextuelles relatives à la sécurité à appliquer aux objets copiés. Les étiquettes sont spécifiées en tant que clés contenantuser
,type
etrange
. (Pour plus d'informations, consultez la SELinux documentation.) Chaque clé est entrée avec une chaîne. Si cette instruction n'est pas spécifiée, toutes les étiquettes existantes appliquées à la structure de fichiers ou de répertoires/dossiers d'origine restent inchangées après l'opération de copie.-
user
: facultatif. L'SELinuxutilisateur. -
type
: facultatif. Le nom du SELinux type. -
range
: facultatif. Le spécificateur SELinux de plage. Cela n'a aucun effet à moins que la sécurité multiniveau (MLS) et la sécurité multi-catégories (MCS) ne soient activées sur la machine. Si ces options ne sont pas activées,range
prend par défaut la valeurs0
.
Spécifiez
context
avec une chaîne (par exemple,user: unconfined_u
). Chaque instructioncontext
est spécifiée sur une ligne distincte. -
-
type
: facultatif. Types d'objets auxquels appliquer les autorisations spécifiées.type
est une chaîne qui peut être définie surfile
oudirectory
. Sifile
est spécifié, les autorisations sont appliquées uniquement aux fichiers contenus immédiatement dansobject
après l'opération de copie (et non àobject
proprement dit). Sidirectory
est spécifié, les autorisations sont appliquées de façon récursive à tous les répertoires/dossiers, où qu'ils soient dansobject
, après l'opération de copie (mais pas àobject
proprement dit).Spécifiez
type
avec un tiret (-) suivi d'un espace, puis d'une chaîne (par exemple,- file
).
Exemple de section « Autorisations »
L'exemple suivant montre comment spécifier la section 'permissions'
avec les instructions object
, pattern
, except
, owner
, mode
et type
. Cet exemple s'applique uniquement à Amazon Linux, Ubuntu Server et aux RHEL instances. Dans cet exemple, supposez que les fichiers et dossiers suivants sont copiés vers l'instance dans la hiérarchie :
/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
Le AppSpec fichier suivant indique comment définir des autorisations sur ces fichiers et dossiers une fois qu'ils ont été copiés :
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
Les autorisations obtenues sont les suivantes :
-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'exemple suivant montre comment spécifier la section 'permissions'
avec l'ajout des instructions acls
et context
. Cet exemple s'applique uniquement à Amazon Linux, Ubuntu Server et aux RHEL instances.
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