AppSpec Abschnitt „Berechtigungen“ (nur bei Bereitstellungen EC2 vor Ort) - AWS CodeDeploy

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AppSpec Abschnitt „Berechtigungen“ (nur bei Bereitstellungen EC2 vor Ort)

Der Abschnitt 'permissions' gibt an, wie spezielle Berechtigungen, sofern vorhanden, auf die Dateien und Verzeichnisse/Ordner im Abschnitt 'files' angewendet werden sollen, nachdem sie auf die Instance kopiert wurden. Sie können mehrere object-Anweisungen angeben. Dieser Abschnitt ist optional. Sie gilt nur für Amazon Linux, Ubuntu Server und RHEL Instances.

Anmerkung

Der 'permissions' Abschnitt wird nur für EC2 /On-Premises-Bereitstellungen verwendet. Es wird nicht für AWS Lambda- oder ECS Amazon-Bereitstellungen verwendet.

Dieser Abschnitt hat die folgende Struktur:

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

Folgende Anleitungen sind zu beachten:

  • object – Erforderlich. Hierbei handelt es sich um eine Reihe von Dateisystemobjekten (Dateien oder Verzeichnisse/Ordner), auf die die angegebenen Berechtigungen angewendet werden, nachdem die Dateisystemobjekte auf die Instance kopiert wurden.

    Geben Sie object mit einer Zeichenfolge an.

  • pattern Optional. Gibt ein Muster für das Anwenden von Berechtigungen an. Wenn nichts angegeben ist oder wenn mit den Sonderzeichen "**" angegeben, werden die Berechtigungen abhängig von type auf alle übereinstimmenden Dateien oder Verzeichnisse angewendet.

    Geben Sie pattern mit einer Zeichenfolge in Anführungszeichen ("") an.

  • except Optional. Gibt alle Dateien oder Verzeichnisse an, die Ausnahmen für pattern sind.

    Geben Sie except mit einer durch Komma getrennten Liste von Zeichenfolgen in eckigen Klammern an.

  • owner Optional. Der Name des Eigentümers von object. Falls nicht anders angegeben, bleiben alle vorhandenen Eigentümer, die auf die ursprüngliche Datei- oder Verzeichnis-/Ordnerstruktur angewendet wurden, nach dem Kopiervorgang unverändert.

    Geben Sie owner mit einer Zeichenfolge an.

  • group Optional. Der Name der Gruppe für object. Falls nicht anders angegeben, bleiben alle vorhandenen Gruppen, die auf die ursprüngliche Datei- oder Verzeichnis-/Ordnerstruktur angewendet wurden, nach dem Kopiervorgang unverändert.

    Geben Sie group mit einer Zeichenfolge an.

  • mode Optional. Ein numerischer Wert, der die Berechtigungen angibt, auf die angewendet werden soll. object Die Moduseinstellung folgt der Linux-Befehlssyntax chmod.

    Wichtig

    Wenn der Wert eine führende Null enthält, müssen Sie ihn mit doppelten Anführungszeichen umgeben oder die führende Null entfernen, sodass nur noch drei Ziffern übrig bleiben.

    Anmerkung

    Symbolische Schreibweise wie u+x wird für die mode Einstellung nicht unterstützt.

    Beispiele:

    • mode: "0644"erteilt dem Besitzer des Objekts Lese- und Schreibberechtigungen (6), Schreibberechtigungen für die Gruppe (4) und Schreibberechtigungen für alle anderen Benutzer (4).

    • mode: 644gewährt dieselben Berechtigungen wie. mode: "0644"

    • mode: 4755setzt das setuid-Attribut (4), gewährt dem Besitzer Vollzugriff (7), erteilt der Gruppe Lese- und Ausführungsrechte (5) und erteilt allen anderen Benutzern Lese- und Ausführungsberechtigungen (5).

      Weitere Beispiele finden Sie in der Dokumentation zum Linux-Befehl chmod.

      Wenn der Modus nicht angegeben ist, bleiben alle vorhandenen Modi, die auf die ursprüngliche Datei- oder Ordnerstruktur angewendet wurden, nach dem Kopiervorgang unverändert.

  • acls Optional. Eine Liste von Zeichenketten, die einen oder mehrere Einträge in der Zugriffskontrollliste (ACL) darstellen, auf die sie angewendet wurdenobject. Beispielsweise steht u:bob:rw für Lese- und Schreibberechtigungen für den Benutzer bob. (Weitere Beispiele finden Sie in den Beispielen für ACL Eingabeformate in der setfacl Linux-Befehlsdokumentation.) Sie können mehrere ACL Einträge angeben. Falls nicht acls angegeben, bleiben alle vorhandenen, auf die ursprüngliche Datei- oder Verzeichnis-/Ordnerstruktur ACLs angewendeten Dateien nach dem Kopiervorgang unverändert. Diese ersetzen alle vorhandenen. ACLs

    Geben Sie einen acls mit einem Bindestrich (-), gefolgt von einem Leerzeichen, und dann einer Zeichenfolge (z. B. - u:jane:rw) an. Wenn Sie mehr als einen habenACL, wird jeder in einer separaten Zeile angegeben.

    Anmerkung

    Wenn Sie unbenannte Benutzer, unbenannte Gruppen oder andere ähnliche ACL Einträge festlegen, schlägt die AppSpec Datei fehl. Verwenden Sie stattdessen mode, um diese Art von Berechtigungen festzulegen.

  • context Optional. Für Security-Enhanced Linux (SELinux) -fähige Instances eine Liste sicherheitsrelevanter Kontext-Labels, die auf die kopierten Objekte angewendet werden sollen. Bezeichnungen werden als Schlüssel angegeben, die user, type und range enthalten. (Weitere Informationen finden Sie in der Dokumentation.) SELinux Jeder Schlüssel wird mit einer Zeichenfolge eingegeben. Falls nicht anders angegeben, bleiben alle vorhandenen Bezeichnungen, die auf die ursprüngliche Datei- oder Verzeichnis-/Ordnerstruktur angewendet wurden, nach dem Kopiervorgang unverändert.

    • user Optional. Der SELinux Benutzer.

    • type Optional. Der SELinux Typname.

    • range Optional. Der SELinux Bereichsbezeichner. Dies hat keine Auswirkung, es sei denn, Multi-Level Security (MLS) und Multi-Category Security (MCS) sind auf dem Computer aktiviert. Wenn diese Option nicht aktiviert ist, ist der range-Standardwert s0.

    Geben Sie context mit einer Zeichenfolge an (z. B. user: unconfined_u). Jeder context wird in einer separaten Zeile angegeben.

  • type Optional. Die Arten von Objekten, auf die die angegebenen Berechtigungen angewendet werden sollen. type ist eine Zeichenfolge, die auf file oder directory eingestellt sein kann. Wenn file angegeben ist, werden die Berechtigungen nur auf Dateien angewendet, die sofort nach dem Kopiervorgang in object enthalten sind (und nicht auf object selbst). Wenn directory angegeben ist, werden die Berechtigungen nach dem Kopiervorgang rekursiv auf alle irgendwo in object enthaltenen Verzeichnisse/Ordner angewendet (nicht aber auf object selbst).

    Geben Sie type mit einem Bindestrich (-), gefolgt von einem Leerzeichen, und dann einer Zeichenfolge (z. B. - file) an.

Beispiel für den Abschnitt „Berechtigungen“

Das folgende Beispiel zeigt, wie Sie den 'permissions'-Abschnitt mit den Anweisungen object, pattern, except, owner, mode und type angeben. Dieses Beispiel gilt nur für Amazon Linux, Ubuntu Server und RHEL Instances. In diesem Beispiel wird davon ausgegangen, dass die folgenden Dateien und Ordner auf die Instance in dieser Hierarchie kopiert werden:

/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

Die folgende AppSpec Datei zeigt, wie Sie Berechtigungen für diese Dateien und Ordner festlegen, nachdem sie kopiert wurden:

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

Es ergeben sich folgende Berechtigungen:

-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

Das folgende Beispiel zeigt, wie Sie den 'permissions'-Abschnitt unter Hinzunahme der Anweisungen acls und context angeben. Dieses Beispiel gilt nur für Amazon Linux, Ubuntu Server und 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