Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AppSpec Sección de «permisos» (EC2/Solo despliegues locales)
La sección 'permissions'
especifica cómo los permisos especiales, si hay alguno, deben aplicarse a los archivos y directorios/carpetas de la sección 'files'
una vez copiados en la instancia. Puede especificar varias instrucciones object
. Esta sección es opcional. Se aplica únicamente a Amazon Linux, Ubuntu Server e RHEL instancias.
nota
La 'permissions'
sección se utiliza únicamente para las implementaciones de EC2 /On-Premises. No se usa para despliegues de AWS Lambda o AmazonECS.
Esta sección tiene la siguiente estructura:
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
Las instrucciones son las siguientes:
-
object
: obligatorio. Este es un conjunto de objetos del sistema de archivos (archivos o directorios/carpetas) a los que se aplican los permisos especificados una vez que se copian en la instancia.Especifique
object
con una cadena. -
pattern
: opcional. Especifica un patrón para aplicar permisos. Si no se especifica o se especifica con los caracteres especiales"**"
, los permisos se aplican a todos los archivos o directorios coincidentes, en función del valor detype
.Especifique
pattern
con una cadena con comillas (""). -
except
: opcional. Especifica los archivos o directorios que son excepciones apattern
.Especifique
except
con una lista separada por comas de cadenas entre corchetes. -
owner
: opcional. El nombre del propietario deobject
. Si no se especifica, todos los propietarios existentes aplicados a la estructura original de archivos o directorios/carpetas permanecen sin cambios después de la operación de copia.Especifique
owner
con una cadena. -
group
: opcional. El nombre del grupo deobject
. Si no se especifica, todos los grupos existentes aplicados a la estructura original de archivos o directorios/carpetas permanecen sin cambios después de la operación de copia.Especifique
group
con una cadena. -
mode
: opcional. Un valor numérico que especifica los permisos que se van a aplicar aobject
. La configuración del modo sigue la sintaxis del comando chmod de Linux.importante
Si el valor incluye un cero a la izquierda, debe ponerlo entre comillas dobles o eliminar el cero inicial para que solo queden tres dígitos.
nota
El ajuste
u+x
no admite una notación simbólica comomode
.Ejemplos:
-
mode: "0644"
otorga permisos de lectura y escritura al propietario del objeto (6), permisos de solo lectura al grupo (4) y permisos de solo lectura a todos los demás usuarios (4). -
mode: 644
concede los mismos permisos quemode: "0644"
. -
mode: 4755
establece el atributo setuid (4), otorga permisos de control total al propietario (7), otorga permisos de lectura y ejecución al grupo (5) y otorga permisos de lectura y ejecución a todos los demás usuarios (5).Para ver más ejemplos, consulte la documentación del comando chmod de Linux.
Si no se especifica mode, todos los modos existentes aplicados a la estructura original de archivos o carpetas permanecen sin cambios después de la operación de copia.
-
-
acls
: opcional. Lista de cadenas de caracteres que representan una o más entradas de la lista de control de acceso (ACL) a las que se ha aplicado.object
Por ejemplo,u:bob:rw
representa permisos de lectura y escritura para el usuariobob
. (Para ver más ejemplos, consulte los ejemplos de formatos de ACL entrada en la documentación desetfacl
comandos de Linux). Puede especificar varias ACL entradas. Si noacls
se especifica, cualquier elemento existente ACLs aplicado a la estructura original de archivos o directorios o carpetas permanecerá inalterada tras la operación de copia. Estas sustituyen a las existentes. ACLsEspecifique una
acls
con un guion (-), seguido de un espacio y, a continuación, una cadena (por ejemplo,- u:jane:rw
). Si tiene más de unoACL, cada uno de ellos se especifica en una línea independiente.nota
Si se configuran usuarios sin nombre, grupos sin nombre u otras ACL entradas similares, se produce un error en el AppSpec archivo. Utilice
mode
para especificar estos tipos de permisos en su lugar. -
context
: opcional. En el caso de las instancias habilitadas para Linux (SELinux) con seguridad mejorada, una lista de etiquetas de contexto relevantes para la seguridad que se deben aplicar a los objetos copiados. Las etiquetas se especifican como claves que contienenuser
,type
yrange
. (Para obtener más información, consulte la documentación). SELinux Cada clave se escribe con una cadena. Si no se especifica, todas las etiquetas existentes aplicadas a la estructura original de archivos o directorios/carpetas permanecen sin cambios después de la operación de copia.-
user
: opcional. El SELinux usuario. -
type
: opcional. El nombre del SELinux tipo. -
range
: opcional. El especificador SELinux de rango. Esto no tiene ningún efecto a menos que la seguridad de varios niveles (MLS) y la seguridad de varias categorías (MCS) estén habilitadas en la máquina. Si no está habilitada, el valor predeterminado derange
ess0
.
Especifique
context
con una cadena (por ejemplo,user: unconfined_u
). Cadacontext
se especifica en una línea separada. -
-
type
: opcional. Los tipos de objetos a los que se van a aplicar los permisos especificados.type
es una cadena que se puede establecer enfile
o endirectory
. Si se especificafile
, los permisos se aplican únicamente a los archivos que estén incluidos enobject
después de la operación de copia (y no al propioobject
). Si se especificadirectory
, los permisos se aplican recursivamente a todos los directorios o carpetas incluidos enobject
después de la operación de copia (y no al propioobject
).Especifique
type
con un guion (-), seguido de un espacio y, a continuación, una cadena (por ejemplo,- file
).
Ejemplo de la sección "permissions"
En el siguiente ejemplo se muestra cómo especificar la sección 'permissions'
con las instrucciones object
, pattern
, except
, owner
, mode
y type
. Este ejemplo se aplica únicamente a Amazon Linux, Ubuntu Server e RHEL instancias. En este ejemplo, se presupone que se copian los siguientes archivos y carpetas en la instancia en esta jerarquía:
/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
El siguiente AppSpec archivo muestra cómo establecer los permisos en estos archivos y carpetas después de copiarlos:
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
Los permisos resultantes son los siguientes:
-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
En el siguiente ejemplo se muestra cómo especificar la sección 'permissions'
con la adición de las instrucciones acls
y context
. Este ejemplo se aplica únicamente a Amazon Linux, Ubuntu Server e RHEL instancias.
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