

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á.

# Configure os dispositivos AWS IoT Greengrass V2 principais como não raiz
<a name="setup-greengrass-non-root"></a>

Esta página apresenta quatro soluções para executar o software AWS IoT Greengrass Core como não-root. Analise a tabela de comparação para entender os recursos e as vantagens e desvantagens de cada solução e, em seguida, use o fluxograma de decisão para identificar qual delas atende às suas necessidades.

**nota**  
As soluções não raiz desta página se aplicam somente ao AWS IoT Greengrass núcleo em dispositivos Linux. O Windows não está incluído porque AWS IoT Greengrass V2 deve ser executado como um serviço do sistema no Windows. Para a instalação raiz padrão no Linux, consulte[Instale o software AWS IoT Greengrass principal com provisionamento automático de recursos](quick-installation.md).  
Para executar o AWS IoT Greengrass nucleus lite como um usuário não root, consulte [Usando o Podman](https://github.com/aws-greengrass/aws-greengrass-lite/blob/main/docs/BUILD.md#optional-using-podman) no repositório AWS IoT Greengrass nucleus lite. GitHub 

**Topics**
+ [Escolha uma solução não raiz](#non-root-choose-solution)
+ [Solução 1: configurar AWS IoT Greengrass V2 sem acesso root](#non-root-solution-1)
+ [Solução 2: configurar AWS IoT Greengrass V2 como não raiz sem separação do usuário do componente](#non-root-solution-2)
+ [Solução 3: configurar AWS IoT Greengrass V2 como não raiz com separação de usuários de componentes](#non-root-solution-3)
+ [Solução 4: configurar AWS IoT Greengrass V2 como root com recursos limitados](#non-root-solution-4)
+ [Capacidades do Linux exigidas pelo AWS IoT Greengrass V2](#linux-capabilities-reference)

## Escolha uma solução não raiz
<a name="non-root-choose-solution"></a>

Use a tabela a seguir para comparar as soluções não raiz e entender suas vantagens e desvantagens. Cada solução oferece recursos diferentes, dependendo dos requisitos de segurança e das restrições do dispositivo.


**Soluções não raiz**  

| Solução | Requer acesso root | Pode executar componentes como usuários diferentes | Executa o Greengrass como serviço do sistema | Melhor para | 
| --- | --- | --- | --- | --- | 
| [Solução 1: sem acesso root](#non-root-solution-1) | Não | Não | Não (serviço ao usuário opcional) | Dispositivos em que você não tem acesso root | 
| [Solução 2: usuário único, sem root](#non-root-solution-2) | Sim (somente configuração) | Não | Sim | Executando o Greengrass como um usuário não root com todos os componentes sendo executados como o mesmo usuário | 
| [Solução 3: não root, multiusuário](#non-root-solution-3) | Sim (somente configuração) | Sim | Sim | Executando o Greengrass como um usuário não root enquanto executa componentes como usuários diferentes | 
| [Solução 4: raiz com recursos limitados](#non-root-solution-4) | Sim | Sim | Sim | Executando o Greengrass como root com um conjunto limitado de recursos Linux | 

O fluxograma a seguir orienta você na seleção da solução apropriada com base nas restrições e requisitos do seu dispositivo.

![\[Fluxograma mostrando o processo de decisão para escolher uma solução não raiz. Comece perguntando se você tem acesso root no seu dispositivo principal. Se não, use a Solução 1. Se sim, pergunte se você precisa executar componentes como usuários diferentes do Linux. Se não, use a Solução 2. Se sim, pergunte se você deseja que o Greengrass seja executado como usuário root com recursos limitados. Se sim, use a Solução 4. Se não, use a Solução 3.\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/images/non-root-solution-decision-flow.png)


## Solução 1: configurar AWS IoT Greengrass V2 sem acesso root
<a name="non-root-solution-1"></a>

Use essa solução quando você não tiver acesso root no dispositivo. Nessa configuração, o software AWS IoT Greengrass Core é executado inteiramente como um usuário não root, sem privilégios elevados.

**Desvantagens**  
Essa solução tem as seguintes limitações:
+ **Sem separação de usuários de componentes** — Todos os componentes são executados como o mesmo usuário que executa o software AWS IoT Greengrass Core. Você não pode usar a `posixUser` configuração para executar componentes como usuários diferentes.
+ **RequiresPrivilege ignorado** — O software AWS IoT Greengrass Core ignora a `RequiresPrivilege` opção nas receitas de componentes. Os componentes não podem solicitar privilégios elevados.
+ **Sem serviço do sistema** — Você não pode instalar o software AWS IoT Greengrass Core como um serviço do sistema. Opcionalmente, você pode configurar AWS IoT Greengrass V2 para ser executado como um serviço de usuário do systemd.

**Pré-requisitos**  
Essa solução requer:
+ Uma conta de usuário não root no dispositivo
+ Acesso de gravação ao diretório em que você deseja instalar o software AWS IoT Greengrass Core

**Para instalar e executar AWS IoT Greengrass V2 sem acesso root**

1. Conclua as seguintes etapas em[Instale o software AWS IoT Greengrass principal com provisionamento automático de recursos](quick-installation.md): configure o ambiente do seu dispositivo, forneça credenciais e baixe o software AWS IoT Greengrass Core.

1. Crie o diretório de instalação e garanta que seu usuário o possua.

   ```
   mkdir -p $HOME/greengrass/v2
   ```

1. Execute o instalador sem`sudo`. `--component-default-user`Defina como seu usuário atual.

   ```
   java -Droot="$HOME/greengrass/v2" -Dlog.store=FILE \
     -jar ./GreengrassInstaller/lib/Greengrass.jar \
     --aws-region region \
     --thing-name MyGreengrassCore \
     --thing-group-name MyGreengrassCoreGroup \
     --thing-policy-name GreengrassV2IoTThingPolicy \
     --tes-role-name GreengrassV2TokenExchangeRole \
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \
     --component-default-user $USER \
     --provision true
   ```

   Não use `--setup-system-service true` porque você não tem acesso root para criar um serviço do sistema.

**(Opcional) Configurar um serviço de usuário systemd**  
Você pode configurar um serviço de usuário do systemd para gerenciar o software AWS IoT Greengrass Core. Isso permite que o software inicie automaticamente quando você faz login.

**Para configurar um serviço de usuário do systemd**

1. Pare o software AWS IoT Greengrass principal se ele estiver em execução no momento.

   ```
   kill $(cat $HOME/greengrass/v2/alts/loader.pid)
   ```

1. Crie o diretório do serviço de usuário systemd.

   ```
   mkdir -p $HOME/.config/systemd/user
   ```

1. Crie o arquivo de serviço em `$HOME/.config/systemd/user/greengrass.service` com o conteúdo a seguir.

   ```
   [Unit]
   Description=Greengrass Core
   
   [Service]
   Type=simple
   PIDFile=%h/greengrass/v2/alts/loader.pid
   RemainAfterExit=no
   Restart=on-failure
   RestartSec=10
   ExecStart=/bin/sh %h/greengrass/v2/alts/current/distro/bin/loader
   Environment="JAVA_HOME=/path/to/java"
   
   [Install]
   WantedBy=default.target
   ```

   Nos arquivos de unidade de usuário systemd, `%h` é um especificador que resolve para o diretório inicial do usuário que está executando o serviço.

   */path/to/java*Substitua pelo caminho para sua instalação do Java.

1. Ative e inicie o serviço.

   ```
   systemctl --user daemon-reload
   systemctl --user enable greengrass.service
   systemctl --user start greengrass.service
   ```

**Comportamento de reinicialização e atualização OTA**  
O comportamento depende se você configurou um serviço de usuário systemd.

Com um serviço de atendimento ao usuário  
+ **Reinicialização do dispositivo** — O software AWS IoT Greengrass Core é iniciado automaticamente quando o usuário faz login.
+ **Atualização OTA** — As atualizações OTA são bem-sucedidas e o software é reiniciado automaticamente.

Sem um serviço de usuário  
+ **Reinicialização do dispositivo** — O software AWS IoT Greengrass Core não reinicia automaticamente. Você deve iniciá-lo manualmente.
+ **Atualização OTA** — As atualizações OTA são bem-sucedidas, mas você deve iniciar manualmente o software AWS IoT Greengrass Core posteriormente.

**Limites de recursos do sistema**  
Os limites de recursos por componente usando cgroups não funcionam nessa solução porque usuários não root não podem criar diretórios cgroup em. `/sys/fs/cgroup/` Se você implantar um componente com limites de recursos configurados, o software AWS IoT Greengrass Core ignorará os limites configurados.

Você pode usar as seguintes alternativas para gerenciar o uso de recursos:
+ **Limites de serviço ao usuário do Systemd** — Se você executar o software AWS IoT Greengrass Core como um serviço de usuário do Systemd, poderá adicionar limites de recursos ao arquivo de serviço em. `$HOME/.config/systemd/user/greengrass.service` Esses limites se aplicam a todo o serviço, incluindo o núcleo do Greengrass e todos os componentes.

  ```
  MemoryMax=2G
  CPUQuota=100%
  ```
+ **Limites da JVM do núcleo do Greengrass** — Você pode limitar a memória do processo do núcleo do Greengrass configurando as opções da JVM. Para obter mais informações, consulte [Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md).

## Solução 2: configurar AWS IoT Greengrass V2 como não raiz sem separação do usuário do componente
<a name="non-root-solution-2"></a>

Use essa solução quando tiver acesso root para a configuração inicial e quiser que o software AWS IoT Greengrass Core seja executado como um serviço de sistema não raiz, mas não precisar executar componentes como usuários diferentes. Isso é semelhante à Solução 1, mas o software é executado como um serviço do sistema que é iniciado automaticamente na inicialização.

**Desvantagens**  
Essa solução tem as seguintes limitações:
+ **Sem separação de usuários de componentes** — Todos os componentes são executados como o mesmo usuário que executa o software AWS IoT Greengrass Core. Você não pode usar a `posixUser` configuração para executar componentes como usuários diferentes.
+ **RequiresPrivilege ignorado** — O software AWS IoT Greengrass Core ignora a `RequiresPrivilege` opção nas receitas de componentes. Os componentes não podem solicitar privilégios elevados.

**Pré-requisitos**  
Essa solução requer:
+ Acesso root para configuração inicial
+ systemd no seu dispositivo

**Para instalar e executar AWS IoT Greengrass V2 como não root sem separação do usuário do componente**

1. Conclua as seguintes etapas em[Instale o software AWS IoT Greengrass principal com provisionamento automático de recursos](quick-installation.md): configure o ambiente do seu dispositivo, forneça credenciais e baixe o software AWS IoT Greengrass Core.

1. Crie um usuário não root que executará o software AWS IoT Greengrass Core e todos os componentes.

   ```
   sudo useradd --create-home gg_non_root
   ```

1. Faça login como usuário não root e execute o instalador. `--component-default-user`Defina para o mesmo usuário. Não use `sudo` e não configure um serviço do sistema.

   ```
   java -Droot="/home/gg_non_root/greengrass/v2" -Dlog.store=FILE \
     -jar ./GreengrassInstaller/lib/Greengrass.jar \
     --aws-region region \
     --thing-name MyGreengrassCore \
     --thing-group-name MyGreengrassCoreGroup \
     --thing-policy-name GreengrassV2IoTThingPolicy \
     --tes-role-name GreengrassV2TokenExchangeRole \
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \
     --component-default-user gg_non_root \
     --provision true \
     --setup-system-service false
   ```

1. Como root, crie o arquivo de serviço do sistema em `/etc/systemd/system/greengrass.service` com o conteúdo a seguir.

   ```
   [Unit]
   Description=Greengrass Core
   After=network.target
   
   [Service]
   Type=simple
   User=gg_non_root
   PIDFile=/home/gg_non_root/greengrass/v2/alts/loader.pid
   RemainAfterExit=no
   Restart=on-failure
   RestartSec=10
   ExecStart=/bin/sh -c "exec /home/gg_non_root/greengrass/v2/alts/current/distro/bin/loader >> /home/gg_non_root/greengrass/v2/logs/loader.log 2>&1"
   KillMode=mixed
   NoNewPrivileges=true
   ProtectSystem=strict
   ReadWritePaths=/home/gg_non_root/greengrass /tmp
   
   [Install]
   WantedBy=multi-user.target
   ```

1. Pare a execução da instância AWS IoT Greengrass Core e, em seguida, ative e inicie o serviço do sistema.

   ```
   sudo systemctl daemon-reload
   sudo systemctl enable greengrass.service
   sudo systemctl start greengrass.service
   ```

**Comportamento de reinicialização e atualização OTA**  
Nesta solução:
+ O software AWS IoT Greengrass Core é executado como um serviço do sistema e reinicia automaticamente em caso de falha ou reinicialização do dispositivo.
+ As atualizações OTA do software AWS IoT Greengrass Core funcionam. O serviço é reiniciado automaticamente como usuário não root configurado.

**Limites de recursos do sistema**  
Os limites de recursos por componente usando cgroups não funcionam nessa solução porque usuários não root sem recursos do Linux não podem criar diretórios cgroup em. `/sys/fs/cgroup/` Se você implantar um componente com limites de recursos configurados, o software AWS IoT Greengrass Core ignorará os limites configurados.

Você pode usar as seguintes alternativas para gerenciar o uso de recursos:
+ **Limites de serviço do Systemd** — Você pode adicionar limites de recursos ao arquivo de serviço do sistema em`/etc/systemd/system/greengrass.service`. Esses limites se aplicam a todo o serviço, incluindo o núcleo do Greengrass e todos os componentes.

  ```
  MemoryMax=2G
  CPUQuota=100%
  ```
+ **Limites da JVM do núcleo do Greengrass** — Você pode limitar a memória do processo do núcleo do Greengrass configurando as opções da JVM. Para obter mais informações, consulte [Configurar o software AWS IoT Greengrass principal](configure-greengrass-core-v2.md).

## Solução 3: configurar AWS IoT Greengrass V2 como não raiz com separação de usuários de componentes
<a name="non-root-solution-3"></a>

Use essa solução quando tiver acesso root para a configuração inicial, mas quiser que o software AWS IoT Greengrass Core seja executado como um usuário não root, mantendo a capacidade de executar componentes como usuários diferentes. Essa configuração usa recursos e sudoers do Linux para permitir que o usuário não root alterne para outros usuários ao executar componentes.

**Desvantagens**  
Essa solução tem as seguintes limitações:
+ **Requer configuração de sudoers** — Você deve configurar sudoers para permitir que o AWS IoT Greengrass V2 usuário execute comandos como outros usuários.

**Pré-requisitos**  
Essa solução requer:
+ Acesso root para configuração inicial
+ systemd versão 229 ou posterior, que suporta. `AmbientCapabilities` Para verificar a versão, execute `systemctl --version`.

**Para instalar e executar AWS IoT Greengrass V2 como não root com separação de usuários de componentes**

1. Conclua as seguintes etapas em[Instale o software AWS IoT Greengrass principal com provisionamento automático de recursos](quick-installation.md): configure o ambiente do seu dispositivo, forneça credenciais e baixe o software AWS IoT Greengrass Core.

1. Crie um usuário não root que executará o software AWS IoT Greengrass Core.

   ```
   sudo useradd --create-home gg_non_root
   ```

1. Adicione o usuário não root aos sudoers para que ele possa executar comandos como usuário do componente. Crie um arquivo em`/etc/sudoers.d/gg_non_root`.

   ```
   gg_non_root ALL=(ggc_user:ggc_group) NOPASSWD: SETENV: /bin/sh, /bin/bash
   ```

   Se você configurar componentes para serem executados como usuários adicionais`posixUser`, adicione uma entrada sudoers para cada usuário. Por exemplo:

   ```
   gg_non_root ALL=(ggc_user:ggc_group) NOPASSWD: SETENV: /bin/sh, /bin/bash
   gg_non_root ALL=(another_user:another_group) NOPASSWD: SETENV: /bin/sh, /bin/bash
   ```

1. Faça login como usuário não root e execute o instalador. Não use `sudo` e não configure um serviço do sistema.

   ```
   java -Droot="/home/gg_non_root/greengrass/v2" -Dlog.store=FILE \
     -jar ./GreengrassInstaller/lib/Greengrass.jar \
     --aws-region region \
     --thing-name MyGreengrassCore \
     --thing-group-name MyGreengrassCoreGroup \
     --thing-policy-name GreengrassV2IoTThingPolicy \
     --tes-role-name GreengrassV2TokenExchangeRole \
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \
     --component-default-user ggc_user:ggc_group \
     --provision true \
     --setup-system-service false
   ```

1. Como root, crie o arquivo de serviço do sistema em `/etc/systemd/system/greengrass.service` com o conteúdo a seguir.

   ```
   [Unit]
   Description=Greengrass Core
   After=network.target
   
   [Service]
   Type=simple
   User=gg_non_root
   PIDFile=/home/gg_non_root/greengrass/v2/alts/loader.pid
   RemainAfterExit=no
   Restart=on-failure
   RestartSec=10
   ExecStart=/bin/sh -c "exec /home/gg_non_root/greengrass/v2/alts/current/distro/bin/loader >> /home/gg_non_root/greengrass/v2/logs/loader.log 2>&1"
   KillMode=mixed
   AmbientCapabilities=CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_SYS_RESOURCE CAP_AUDIT_WRITE
   CapabilityBoundingSet=CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_SYS_RESOURCE CAP_AUDIT_WRITE
   ProtectSystem=strict
   ReadWritePaths=/home/gg_non_root/greengrass /tmp
   
   [Install]
   WantedBy=multi-user.target
   ```

   Para obter informações sobre os recursos necessários, consulte[Capacidades do Linux exigidas pelo AWS IoT Greengrass V2](#linux-capabilities-reference).
   + `AmbientCapabilities`concede os recursos Linux especificados ao usuário não root que executa o serviço. Isso permite que o software AWS IoT Greengrass Core execute operações privilegiadas, como trocar de usuário ao executar componentes, sem ser executado como root.
   + `CapabilityBoundingSet`limita o conjunto máximo de recursos que o serviço e seus processos secundários podem usar. Os recursos que não estão nesse conjunto são eliminados permanentemente.
   + `ProtectSystem=strict`torna todo o sistema de arquivos somente para leitura do serviço, impedindo a modificação do sistema operacional.
   + `ReadWritePaths`especifica os únicos diretórios nos quais o serviço pode gravar.

1. Pare a execução da instância AWS IoT Greengrass Core e, em seguida, ative e inicie o serviço do sistema.

   ```
   sudo systemctl daemon-reload
   sudo systemctl enable greengrass.service
   sudo systemctl start greengrass.service
   ```

**Comportamento de reinicialização e atualização OTA**  
Nesta solução:
+ O software AWS IoT Greengrass Core é executado como um serviço do sistema e reinicia automaticamente em caso de falha ou reinicialização do dispositivo.
+ As atualizações OTA do software AWS IoT Greengrass Core funcionam. O serviço é reiniciado automaticamente como usuário não root configurado.

**Limites de recursos do sistema**  
Os limites de recursos por componente para memória e CPU funcionam nessa solução da mesma forma que ao executar o software AWS IoT Greengrass Core como root.

## Solução 4: configurar AWS IoT Greengrass V2 como root com recursos limitados
<a name="non-root-solution-4"></a>

Use essa solução quando quiser que o software AWS IoT Greengrass Core seja executado como root, mas com um conjunto reduzido de recursos do Linux. Essa configuração fornece a funcionalidade completa de execução como root e, ao mesmo tempo, limita a superfície de ataque ao restringir os recursos disponíveis para o software e seus componentes.

**Desvantagens**  
Essa solução tem as seguintes considerações:
+ **Componentes com recursos RequiresPrivilege limitados** — Os componentes usados são `RequiresPrivilege` executados com o mesmo conjunto limitado de recursos do software AWS IoT Greengrass Core, não com privilégios de root completos.

**Pré-requisitos**  
Essa solução requer:
+ Acesso root
+ systemd no seu dispositivo

**Para instalar e executar AWS IoT Greengrass V2 como root com recursos limitados**

1. Conclua as seguintes etapas em[Instale o software AWS IoT Greengrass principal com provisionamento automático de recursos](quick-installation.md): configure o ambiente do seu dispositivo, forneça credenciais e baixe o software AWS IoT Greengrass Core.

1. Modifique o arquivo de modelo de serviço em`GreengrassInstaller/bin/greengrass.service.template`, no diretório em que você baixou o software AWS IoT Greengrass Core. Adicione as seguintes linhas à `[Service]` seção antes de executar o instalador:

   ```
   CapabilityBoundingSet=CAP_CHOWN CAP_DAC_OVERRIDE CAP_DAC_READ_SEARCH CAP_FOWNER CAP_SETUID CAP_SETGID CAP_SYS_RESOURCE CAP_AUDIT_WRITE
   ProtectSystem=strict
   ReadWritePaths=/greengrass /tmp
   ```
   + `CapabilityBoundingSet`é um recurso de segurança do systemd que limita os recursos do Linux disponíveis para o software AWS IoT Greengrass Core e todos os seus processos secundários. Ao configurar um conjunto delimitador, você restringe o que o processo e os componentes do núcleo do Greengrass podem fazer, mesmo quando executados como root. Para obter informações sobre cada recurso, consulte[Capacidades do Linux exigidas pelo AWS IoT Greengrass V2](#linux-capabilities-reference).
   + `ProtectSystem=strict`torna todo o sistema de arquivos somente para leitura do serviço, impedindo a modificação do sistema operacional. Isso fornece um sandboxing do systemd que protege os arquivos do sistema mesmo se um componente malicioso for executado com privilégios elevados.
   + `ReadWritePaths`especifica os únicos diretórios nos quais o serviço pode gravar. Além disso`ProtectSystem=strict`, isso limita o serviço a gravar somente no diretório AWS IoT Greengrass V2 raiz `/tmp` e.

1. Execute o instalador com`--setup-system-service true`.

   ```
   sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \
     -jar ./GreengrassInstaller/lib/Greengrass.jar \
     --aws-region region \
     --thing-name MyGreengrassCore \
     --thing-group-name MyGreengrassCoreGroup \
     --thing-policy-name GreengrassV2IoTThingPolicy \
     --tes-role-name GreengrassV2TokenExchangeRole \
     --tes-role-alias-name GreengrassCoreTokenExchangeRoleAlias \
     --component-default-user ggc_user:ggc_group \
     --provision true \
     --setup-system-service true
   ```

**Comportamento de reinicialização e atualização OTA**  
Nesta solução:
+ O software AWS IoT Greengrass Core é executado como um serviço do sistema e reinicia automaticamente em caso de falha ou reinicialização do dispositivo.
+ As atualizações OTA do software AWS IoT Greengrass Core funcionam. O software é atualizado e reiniciado automaticamente.

**Limites de recursos do sistema**  
Os limites de recursos por componente para memória e CPU funcionam nessa solução da mesma forma que ao executar o software AWS IoT Greengrass Core como root.

## Capacidades do Linux exigidas pelo AWS IoT Greengrass V2
<a name="linux-capabilities-reference"></a>

A tabela a seguir descreve os recursos do Linux exigidos pelo software AWS IoT Greengrass Core quando executado em configurações não raiz. Esses recursos são usados nas Soluções 3 e 4.


**Capacidades Linux necessárias**  

| Recurso | Description | Necessário para | 
| --- | --- | --- | 
| `CAP_CHOWN` | Faça alterações arbitrárias no arquivo UIDs e GIDs | Alteração da propriedade do arquivo dependendo do usuário que está executando o componente | 
| `CAP_DAC_OVERRIDE` | Ignorar verificações de permissão de leitura, gravação e execução de arquivos | Permitindo que o usuário do Greengrass nucleus execute arquivos quando usados para scripts com `RequiresPrivilege` | 
| `CAP_DAC_READ_SEARCH` | Ignorar verificações de permissão de leitura de arquivos e verificações de permissão de leitura e execução de diretórios | Percorrendo a hierarquia de pastas, mesmo para pastas que o usuário do Greengrass nucleus não tem permissão para ler | 
| `CAP_FOWNER` | Ignore as verificações de permissão em operações que normalmente exigem que o UID do sistema de arquivos do processo corresponda ao UID do arquivo | Ignorando as verificações de propriedade do arquivo | 
| `CAP_SETUID` | Faça manipulações arbitrárias do processo UIDs | Usando `sudo` ao executar scripts como um usuário diferente do usuário que executa o núcleo do Greengrass | 
| `CAP_SETGID` | Faça manipulações arbitrárias do processo GIDs | Usando `sudo` ao executar scripts como um grupo diferente do grupo que executa o núcleo do Greengrass | 
| `CAP_SYS_RESOURCE` | Ignorar limites de recursos | Definir limites de recursos em processos de componentes, mesmo que os limites não sejam especificados nas implantações | 
| `CAP_AUDIT_WRITE` | Gravar registros no registro de auditoria do kernel | Permitindo `sudo` gravar no registro de auditoria do kernel | 