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 às instâncias Amazon Linux, Ubuntu Server e RHEL.
nota
A 'permissions' seção é usada somente para implantações EC2 /On-Premises. Ele não é usado para implantações do AWS Lambda ou do Amazon ECS.
Esta seção tem a seguinte estrutura:
permissions: - object:object-specificationpattern:pattern-specificationexcept:exception-specificationowner:owner-account-namegroup:group-namemode:mode-specificationacls: -acls-specificationcontext: user:user-specificationtype:type-specificationrange:range-specificationtype: -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
objectcom 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
patterncom uma string entre aspas (""). -
except: optional. Especifica os arquivos ou diretórios que são exceções aopattern.Especifique
exceptcom 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
ownercom 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
groupcom 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: 644concede as mesmas permissões quemode: "0644". -
mode: 4755define 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 strings de caracteres que representam uma ou mais entradas da lista de controle de acesso (ACL) aplicadas aoobject. Por exemplo,u:bob:rwrepresenta permissões de leitura e gravação para o usuáriobob. (Para obter mais exemplos, consulte exemplos de formatos de entradas de ACL na documentação do comandosetfacldo Linux). É possível especificar várias entradas de ACL. Se nãoaclsfor 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 existentes ACLs.Especifique uma
aclscom um traço (-), seguido por um espaço e uma string (por exemplo,- u:jane:rw). Se você tiver mais de uma ACL, cada uma será especificada em uma linha separada.nota
A configuração de usuários sem nome, grupos sem nome ou outras entradas de ACL semelhantes faz com que o AppSpec arquivo falhe. Use
modepara 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 apenas terá efeito se os recursos MLS (Multi-Level Security) e MCS (Multi-Category Security) estiverem habilitados na máquina. Se não estiver habilitado,rangeassumirás0como padrão.
Especifique
contextcom 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 comofileoudirectory. Sefilefor especificado, as permissões serão aplicadas somente nos arquivos que estiverem imediatamente contidos noobjectapós a operação de cópia (e não noobjectem si). Sedirectoryfor especificado, as permissões serão aplicadas recursivamente em todos os diretórios/pastas que estiverem em qualquer lugar doobjectapós a operação de cópia (mas não noobjectem si).Especifique o
typecom 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. Esse exemplo se aplica somente às instâncias Amazon Linux, Ubuntu Server e RHEL. 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 após serem 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. Esse exemplo se aplica somente às instâncias 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