As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
AppSpec seção 'permissões' (EC2/Somente implantações locais)
A seção 'permissions'
especifica como as permissões especiais, se houver, deverão ser aplicadas aos arquivos e diretórios/pastas na seção 'files'
depois que forem copiados para a instância. É possível especificar várias instruções object
. Esta seção é opcional. Ela se aplica somente ao Amazon Linux, Ubuntu Server e RHEL instâncias.
nota
A 'permissions'
seção é usada somente para implantações EC2 /On-Premises. Ele não é usado para implantações do AWS Lambda ou da AmazonECS.
Esta seção tem a seguinte estrutura:
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
As instruções são as seguintes:
-
object
– obrigatório. Este é um conjunto de objetos do sistema de arquivos (arquivos ou diretórios/pastas) ao qual as permissões especificadas serão aplicadas depois que esses objetos forem copiados para a instância.Especifique
object
com uma string. -
pattern
: optional. Especifica um padrão para aplicar permissões. Se não forem especificadas ou se forem especificadas com os caracteres especiais"**"
, as permissões serão aplicadas em todos os arquivos ou diretórios correspondentes, de acordo com otype
.Especifique
pattern
com uma string entre aspas (""). -
except
: optional. Especifica os arquivos ou diretórios que são exceções aopattern
.Especifique
except
com uma lista de strings separada por vírgulas entre colchetes. -
owner
: optional. O nome do proprietário doobject
. Se não for especificado, todos os proprietários existentes aplicados à estrutura original de arquivos ou diretórios/pastas permanecerão inalterados após a operação de cópia.Especifique
owner
com uma string. -
group
: optional. O nome do grupo paraobject
. Se não for especificado, todos os grupos existentes aplicados à estrutura original de arquivos ou diretórios/pastas permanecerão inalterados após a operação de cópia.Especifique
group
com uma string. -
mode
: optional. Um valor numérico que especifica as permissões a serem aplicadas aoobject
. A configuração do modo segue a sintaxe do comando chmod do Linux.Importante
Se o valor incluir um zero inicial, você deverá colocá-lo entre aspas duplas ou remover o zero inicial para que restem apenas três dígitos.
nota
Notação simbólica, como
u+x
, não é suportada para a configuraçãomode
.Exemplos:
-
mode: "0644"
concede permissões de leitura e gravação ao proprietário do objeto (6), permissões somente leitura ao grupo (4) e permissões somente leitura a todos os outros usuários (4). -
mode: 644
concede as mesmas permissões quemode: "0644"
. -
mode: 4755
define o atributo setuid (4), concede permissões de controle total ao proprietário (7), concede permissões de leitura e execução ao grupo (5) e concede permissões de leitura e execução a todos os outros usuários (5).Para obter mais exemplos, consulte a documentação do comando chmod do Linux.
Se o modo não for especificado, todos os modos existentes aplicados à estrutura original de arquivos ou pastas permanecerão inalterados após a operação de cópia.
-
-
acls
: optional. Uma lista de cadeias de caracteres representando uma ou mais entradas da lista de controle de acesso (ACL) aplicadas a.object
Por exemplo,u:bob:rw
representa permissões de leitura e gravação para o usuáriobob
. (Para obter mais exemplos, consulte exemplos ACL de formato de entrada na documentação desetfacl
comandos do Linux.) Você pode especificar várias ACL entradas. Se nãoacls
for especificado, qualquer estrutura existente ACLs aplicada ao arquivo original ou diretório/pasta permanecerá inalterada após a operação de cópia. Eles substituem os existentesACLs.Especifique uma
acls
com um traço (-), seguido por um espaço e uma string (por exemplo,- u:jane:rw
). Se você tiver mais de umACL, cada um será especificado em uma linha separada.nota
Definir usuários sem nome, grupos sem nome ou outras ACL entradas semelhantes faz com que o AppSpec arquivo falhe. Use
mode
para especificar esses tipos de permissões em vez disso. -
context
: optional. Para instâncias habilitadas para Security-Enhanced Linux (SELinux), uma lista de rótulos de contexto relevantes à segurança a serem aplicados aos objetos copiados. Os rótulos são especificados como chaves contendouser
,type
, erange
. (Para obter mais informações, consulte a SELinux documentação.) Cada chave é inserida com uma string. Se não for especificado, qualquer rótulo existente aplicado à estrutura original de arquivos ou diretórios/pastas permanecerá inalterado após a operação de cópia.-
user
: optional. O SELinux usuário. -
type
: optional. O nome do SELinux tipo. -
range
: optional. O especificador SELinux de intervalo. Isso não tem efeito, a menos que a Segurança de Vários Níveis (MLS) e a Segurança de Várias Categorias (MCS) estejam ativadas na máquina. Se não estiver habilitado,range
assumirás0
como padrão.
Especifique
context
com uma string (por exemplo,user: unconfined_u
). Cadacontext
é especificado em uma linha separada. -
-
type
: optional. Os tipos de objetos aos quais aplicar as permissões especificadas.type
é uma string que pode ser definida comofile
oudirectory
. Sefile
for especificado, as permissões serão aplicadas somente nos arquivos que estiverem imediatamente contidos noobject
após a operação de cópia (e não noobject
em si). Sedirectory
for especificado, as permissões serão aplicadas recursivamente em todos os diretórios/pastas que estiverem em qualquer lugar doobject
após a operação de cópia (mas não noobject
em si).Especifique o
type
com um traço (-), seguido por um espaço e uma string (por exemplo,- file
).
Exemplo da seção 'permissions'
O exemplo a seguir mostra como especificar a seção 'permissions'
com as instruções object
, pattern
, except
, owner
, mode
e type
. Este exemplo se aplica somente ao Amazon Linux, Ubuntu Server e RHEL instâncias. Neste exemplo, suponha que os seguintes arquivos e pastas sejam copiados para a instância nesta hierarquia:
/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
O AppSpec arquivo a seguir mostra como definir permissões nesses arquivos e pastas depois que eles são copiados:
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
As permissões resultantes são as seguintes:
-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
O exemplo a seguir mostra como especificar a seção 'permissions'
com a adição das instruções acls
e context
. Este exemplo se aplica somente ao Amazon Linux, Ubuntu Server e RHEL instâncias.
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