View a markdown version of this page

Configurer les appareils AWS IoT Greengrass V2 principaux en tant que périphériques non root - AWS IoT Greengrass

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configurer les appareils AWS IoT Greengrass V2 principaux en tant que périphériques non root

Cette page présente quatre solutions pour exécuter le logiciel AWS IoT Greengrass Core en tant que non-root. Consultez le tableau de comparaison pour comprendre les caractéristiques et les inconvénients de chaque solution, puis utilisez le diagramme de décision pour identifier celle qui répond à vos besoins.

Note

Les solutions non root présentées sur cette page s'appliquent uniquement au AWS IoT Greengrass noyau sur les appareils Linux. Windows n'est pas inclus car AWS IoT Greengrass V2 il doit être exécuté en tant que service système sous Windows. Pour une installation root standard sous Linux, consultezInstallation AWS IoT Greengrass du logiciel Core avec provisionnement automatique des ressources.

Pour exécuter AWS IoT Greengrass Nucleus Lite en tant qu'utilisateur non root, voir Utilisation de Podman dans le référentiel AWS IoT Greengrass Nucleus Lite GitHub .

Choisissez une solution non racinaire

Utilisez le tableau suivant pour comparer les solutions non root et comprendre leurs inconvénients. Chaque solution offre des fonctionnalités différentes en fonction de vos exigences en matière de sécurité et des contraintes de votre appareil.

Solutions autres que les racines
Solution Nécessite un accès root Peut exécuter des composants en tant qu'utilisateurs différents Exécute Greengrass en tant que service système Idéal pour

Solution 1 : aucun accès root

Non

Non

Non (service utilisateur facultatif)

Appareils sur lesquels vous n'avez pas d'accès root

Solution 2 : utilisateur unique, non root

Oui (configuration uniquement)

Non

Oui

Exécuter Greengrass en tant qu'utilisateur non root avec tous les composants exécutés sous le même nom d'utilisateur

Solution 3 : multi-utilisateurs non root

Oui (configuration uniquement)

Oui

Oui

Exécuter Greengrass en tant qu'utilisateur non root tout en exécutant les composants en tant qu'utilisateurs différents

Solution 4 : Rooter avec des capacités limitées

Oui

Oui

Oui

Exécuter Greengrass en tant que root avec un ensemble limité de fonctionnalités Linux

L'organigramme suivant vous guide dans le choix de la solution appropriée en fonction des contraintes et des exigences de votre appareil.

Organigramme illustrant le processus de décision pour le choix d'une solution non racinaire. Commencez par demander si vous avez un accès root sur votre appareil principal. Si ce n'est pas le cas, utilisez la Solution 1. Dans l'affirmative, demandez si vous devez exécuter les composants en tant qu'utilisateurs Linux différents. Si ce n'est pas le cas, utilisez la Solution 2. Si oui, demandez si vous souhaitez que Greengrass fonctionne en tant qu'utilisateur root avec des capacités limitées. Dans l'affirmative, utilisez la Solution 4. Si ce n'est pas le cas, utilisez la Solution 3.

Solution 1 : configuration AWS IoT Greengrass V2 sans accès root

Utilisez cette solution lorsque vous ne disposez pas d'un accès root sur l'appareil. Dans cette configuration, le logiciel AWS IoT Greengrass Core s'exécute entièrement en tant qu'utilisateur non root sans privilèges élevés.

Compromis

Cette solution présente les limites suivantes :

  • Aucune séparation entre les utilisateurs des composants : tous les composants s'exécutent sous le même nom d'utilisateur que le logiciel AWS IoT Greengrass Core. Vous ne pouvez pas utiliser la posixUser configuration pour exécuter des composants en tant qu'utilisateurs différents.

  • RequiresPrivilege ignoré — Le logiciel AWS IoT Greengrass Core ignore l'RequiresPrivilegeoption dans les recettes de composants. Les composants ne peuvent pas demander de privilèges élevés.

  • Aucun service système : vous ne pouvez pas installer le logiciel AWS IoT Greengrass Core en tant que service système. Vous pouvez éventuellement le configurer AWS IoT Greengrass V2 pour qu'il s'exécute en tant que service utilisateur Systemd.

Conditions préalables

Cette solution nécessite :

  • Un compte utilisateur non root sur l'appareil

  • Accès en écriture au répertoire dans lequel vous souhaitez installer le logiciel AWS IoT Greengrass Core

Pour installer et exécuter AWS IoT Greengrass V2 sans accès root
  1. Effectuez les étapes suivantes à partir de Installation AWS IoT Greengrass du logiciel Core avec provisionnement automatique des ressources : configurer l'environnement de votre appareil, fournir des informations d'identification et télécharger le logiciel AWS IoT Greengrass Core.

  2. Créez le répertoire d'installation et assurez-vous qu'il appartient à votre utilisateur.

    mkdir -p $HOME/greengrass/v2
  3. Exécutez le programme d'installation sanssudo. --component-default-userRéglez sur votre utilisateur actuel.

    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

    Ne l'utilisez pas --setup-system-service true car vous ne disposez pas d'un accès root pour créer un service système.

(Facultatif) Configurer un service utilisateur Systemd

Vous pouvez configurer un service utilisateur Systemd pour gérer le logiciel AWS IoT Greengrass Core. Cela permet au logiciel de démarrer automatiquement lorsque vous vous connectez.

Pour configurer un service utilisateur Systemd
  1. Arrêtez le logiciel AWS IoT Greengrass Core s'il est en cours d'exécution.

    kill $(cat $HOME/greengrass/v2/alts/loader.pid)
  2. Créez le répertoire du service utilisateur systemd.

    mkdir -p $HOME/.config/systemd/user
  3. Créez le fichier de service $HOME/.config/systemd/user/greengrass.service à l'adresse suivante.

    [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

    Dans les fichiers d'unité utilisateur systemd, %h il s'agit d'un spécificateur qui correspond au répertoire personnel de l'utilisateur exécutant le service.

    /path/to/javaRemplacez-le par le chemin d'accès à votre installation Java.

  4. Activez et démarrez le service.

    systemctl --user daemon-reload systemctl --user enable greengrass.service systemctl --user start greengrass.service
Comportement de redémarrage et de mise à jour OTA

Le comportement dépend de la configuration ou non d'un service utilisateur Systemd.

Avec un service utilisateur
  • Redémarrage de l'appareil : le logiciel AWS IoT Greengrass Core démarre automatiquement lorsque l'utilisateur se connecte.

  • Mise à jour OTA : les mises à jour OTA réussissent et le logiciel redémarre automatiquement.

Sans service utilisateur
  • Redémarrage de l'appareil : le logiciel AWS IoT Greengrass Core ne redémarre pas automatiquement. Vous devez le démarrer manuellement.

  • Mise à jour OTA : les mises à jour OTA réussissent, mais vous devez ensuite démarrer manuellement le logiciel AWS IoT Greengrass Core.

Limites des ressources du système

Les limites de ressources par composant à l'aide de cgroups ne fonctionnent pas dans cette solution car les utilisateurs non root ne peuvent pas créer de répertoires de cgroup dans. /sys/fs/cgroup/ Si vous déployez un composant avec des limites de ressources configurées, le logiciel AWS IoT Greengrass Core ignore les limites configurées.

Vous pouvez utiliser les alternatives suivantes pour gérer l'utilisation des ressources :

  • Limites du service utilisateur Systemd — Si vous exécutez le logiciel AWS IoT Greengrass Core en tant que service utilisateur Systemd, vous pouvez ajouter des limites de ressources au fichier de service à l'adresse. $HOME/.config/systemd/user/greengrass.service Ces limites s'appliquent à l'ensemble du service, y compris le noyau Greengrass et tous ses composants.

    MemoryMax=2G CPUQuota=100%
  • Limites de la JVM du noyau Greengrass : vous pouvez limiter la mémoire du processus du noyau Greengrass en configurant les options de la JVM. Pour de plus amples informations, veuillez consulter Configuration du logiciel AWS IoT Greengrass de base.

Solution 2 : configurer en AWS IoT Greengrass V2 tant que non-root sans séparation entre les utilisateurs des composants

Utilisez cette solution lorsque vous disposez d'un accès root pour la configuration initiale et que vous souhaitez que le logiciel AWS IoT Greengrass Core s'exécute en tant que service système non root, mais que vous n'avez pas besoin d'exécuter les composants en tant qu'utilisateurs différents. Ceci est similaire à la Solution 1, mais le logiciel s'exécute en tant que service système qui démarre automatiquement au démarrage.

Compromis

Cette solution présente les limites suivantes :

  • Aucune séparation entre les utilisateurs des composants : tous les composants s'exécutent sous le même nom d'utilisateur que le logiciel AWS IoT Greengrass Core. Vous ne pouvez pas utiliser la posixUser configuration pour exécuter des composants en tant qu'utilisateurs différents.

  • RequiresPrivilege ignoré — Le logiciel AWS IoT Greengrass Core ignore l'RequiresPrivilegeoption dans les recettes de composants. Les composants ne peuvent pas demander de privilèges élevés.

Conditions préalables

Cette solution nécessite :

  • Accès root pour la configuration initiale

  • systemd sur votre appareil

À installer et à exécuter AWS IoT Greengrass V2 en tant que non-root sans séparation entre les utilisateurs des composants
  1. Effectuez les étapes suivantes à partir de Installation AWS IoT Greengrass du logiciel Core avec provisionnement automatique des ressources : configurer l'environnement de votre appareil, fournir des informations d'identification et télécharger le logiciel AWS IoT Greengrass Core.

  2. Créez un utilisateur non root qui exécutera le logiciel AWS IoT Greengrass Core et tous les composants.

    sudo useradd --create-home gg_non_root
  3. Connectez-vous en tant qu'utilisateur non root et exécutez le programme d'installation. --component-default-userDéfini pour le même utilisateur. N'utilisez pas sudo et ne configurez pas de service système.

    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
  4. En tant qu'utilisateur root, créez le fichier de service système /etc/systemd/system/greengrass.service à l'adresse suivante.

    [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
  5. Arrêtez l'instance AWS IoT Greengrass Core en cours d'exécution, puis activez et démarrez le service système.

    sudo systemctl daemon-reload sudo systemctl enable greengrass.service sudo systemctl start greengrass.service
Comportement de redémarrage et de mise à jour OTA

Dans cette solution :

  • Le logiciel AWS IoT Greengrass Core s'exécute en tant que service système et redémarre automatiquement en cas de panne ou de redémarrage de l'appareil.

  • Les mises à jour OTA du logiciel AWS IoT Greengrass Core fonctionnent. Le service redémarre automatiquement en tant qu'utilisateur non root configuré.

Limites des ressources du système

Les limites de ressources par composant à l'aide de cgroups ne fonctionnent pas dans cette solution car les utilisateurs non root dépourvus de fonctionnalités Linux ne peuvent pas créer de répertoires de cgroup dans. /sys/fs/cgroup/ Si vous déployez un composant avec des limites de ressources configurées, le logiciel AWS IoT Greengrass Core ignore les limites configurées.

Vous pouvez utiliser les alternatives suivantes pour gérer l'utilisation des ressources :

  • Limites de service Systemd — Vous pouvez ajouter des limites de ressources au fichier de service système à /etc/systemd/system/greengrass.service l'adresse. Ces limites s'appliquent à l'ensemble du service, y compris le noyau Greengrass et tous ses composants.

    MemoryMax=2G CPUQuota=100%
  • Limites de la JVM du noyau Greengrass : vous pouvez limiter la mémoire du processus du noyau Greengrass en configurant les options de la JVM. Pour de plus amples informations, veuillez consulter Configuration du logiciel AWS IoT Greengrass de base.

Solution 3 : configuration en AWS IoT Greengrass V2 tant que non-root avec séparation des utilisateurs des composants

Utilisez cette solution lorsque vous disposez d'un accès root pour la configuration initiale, mais que vous souhaitez que le logiciel AWS IoT Greengrass Core s'exécute en tant qu'utilisateur non root tout en conservant la possibilité d'exécuter les composants en tant qu'utilisateurs différents. Cette configuration utilise les fonctionnalités de Linux et les sudoers pour permettre à l'utilisateur non root de passer à d'autres utilisateurs lors de l'exécution de composants.

Compromis

Cette solution présente les limites suivantes :

  • Nécessite la configuration de sudoers : vous devez configurer sudoers pour permettre à l' AWS IoT Greengrass V2 utilisateur d'exécuter des commandes comme les autres utilisateurs.

Conditions préalables

Cette solution nécessite :

  • Accès root pour la configuration initiale

  • systemd version 229 ou ultérieure, qui prend en chargeAmbientCapabilities. Pour vérifier votre version, lancezsystemctl --version.

À installer et à exécuter AWS IoT Greengrass V2 en tant que non-root avec séparation des utilisateurs entre les composants
  1. Effectuez les étapes suivantes à partir de Installation AWS IoT Greengrass du logiciel Core avec provisionnement automatique des ressources : configurer l'environnement de votre appareil, fournir des informations d'identification et télécharger le logiciel AWS IoT Greengrass Core.

  2. Créez un utilisateur non root qui exécutera le logiciel AWS IoT Greengrass Core.

    sudo useradd --create-home gg_non_root
  3. Ajoutez l'utilisateur non root à sudoers afin qu'il puisse exécuter des commandes en tant qu'utilisateur du composant. Créez un fichier à l'adresse/etc/sudoers.d/gg_non_root.

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

    Si vous configurez des composants pour qu'ils s'exécutent en tant qu'utilisateurs supplémentairesposixUser, ajoutez une entrée sudoers pour chaque utilisateur. Par exemple :

    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
  4. Connectez-vous en tant qu'utilisateur non root et exécutez le programme d'installation. N'utilisez pas sudo et ne configurez pas de service système.

    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
  5. En tant qu'utilisateur root, créez le fichier de service système /etc/systemd/system/greengrass.service à l'adresse suivante.

    [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

    Pour plus d'informations sur les fonctionnalités requises, consultezFonctionnalités Linux requises par AWS IoT Greengrass V2.

    • AmbientCapabilitiesaccorde les fonctionnalités Linux spécifiées à l'utilisateur non root exécutant le service. Cela permet au logiciel AWS IoT Greengrass Core d'effectuer des opérations privilégiées, telles que le changement d'utilisateur lors de l'exécution de composants, sans s'exécuter en tant que root.

    • CapabilityBoundingSetlimite l'ensemble maximal de fonctionnalités que le service et ses processus enfants peuvent utiliser. Les fonctionnalités qui ne figurent pas dans cet ensemble sont définitivement supprimées.

    • ProtectSystem=strictmet l'ensemble du système de fichiers en lecture seule pour le service, empêchant ainsi toute modification du système d'exploitation.

    • ReadWritePathsindique les seuls répertoires dans lesquels le service peut écrire.

  6. Arrêtez l'instance AWS IoT Greengrass Core en cours d'exécution, puis activez et démarrez le service système.

    sudo systemctl daemon-reload sudo systemctl enable greengrass.service sudo systemctl start greengrass.service
Comportement de redémarrage et de mise à jour OTA

Dans cette solution :

  • Le logiciel AWS IoT Greengrass Core s'exécute en tant que service système et redémarre automatiquement en cas de panne ou de redémarrage de l'appareil.

  • Les mises à jour OTA du logiciel AWS IoT Greengrass Core fonctionnent. Le service redémarre automatiquement en tant qu'utilisateur non root configuré.

Limites des ressources du système

Les limites de ressources par composant pour la mémoire et le processeur fonctionnent dans cette solution de la même manière que lors de l'exécution du logiciel AWS IoT Greengrass Core en tant qu'utilisateur root.

Solution 4 : configurer en AWS IoT Greengrass V2 tant que root avec des fonctionnalités limitées

Utilisez cette solution lorsque vous souhaitez que le logiciel AWS IoT Greengrass Core s'exécute en tant que root, mais avec un ensemble réduit de fonctionnalités Linux. Cette configuration fournit toutes les fonctionnalités d'exécution en tant que root tout en limitant la surface d'attaque en limitant les fonctionnalités disponibles pour le logiciel et ses composants.

Compromis

Cette solution tient compte des considérations suivantes :

  • Composants RequiresPrivilege dotés de capacités limitées : les composants utilisés s'RequiresPrivilegeexécutent avec le même ensemble limité de fonctionnalités que le logiciel AWS IoT Greengrass principal, et non avec des privilèges root complets.

Conditions préalables

Cette solution nécessite :

  • Accès root

  • systemd sur votre appareil

Pour installer et exécuter AWS IoT Greengrass V2 en tant que root avec des fonctionnalités limitées
  1. Effectuez les étapes suivantes à partir de Installation AWS IoT Greengrass du logiciel Core avec provisionnement automatique des ressources : configurer l'environnement de votre appareil, fournir des informations d'identification et télécharger le logiciel AWS IoT Greengrass Core.

  2. Modifiez le fichier de modèle de service à l'adresseGreengrassInstaller/bin/greengrass.service.template, dans le répertoire où vous avez téléchargé le logiciel AWS IoT Greengrass Core. Ajoutez les lignes suivantes à la [Service] section avant d'exécuter le programme d'installation :

    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
    • CapabilityBoundingSetest une fonctionnalité de sécurité de Systemd qui limite les fonctionnalités Linux disponibles pour le logiciel AWS IoT Greengrass Core et tous ses processus enfants. En configurant un ensemble de limites, vous limitez ce que le processus du noyau Greengrass et ses composants peuvent faire, même lorsqu'ils sont exécutés en tant que root. Pour plus d'informations sur chaque fonctionnalité, consultezFonctionnalités Linux requises par AWS IoT Greengrass V2.

    • ProtectSystem=strictmet l'ensemble du système de fichiers en lecture seule pour le service, empêchant ainsi toute modification du système d'exploitation. Cela fournit un sandboxing Systemd qui protège les fichiers système même si un composant malveillant s'exécute avec des privilèges élevés.

    • ReadWritePathsindique les seuls répertoires dans lesquels le service peut écrire. De plusProtectSystem=strict, cela limite le service à écrire uniquement dans le répertoire AWS IoT Greengrass V2 racine et/tmp.

  3. Exécutez le programme d'installation avec--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
Comportement de redémarrage et de mise à jour OTA

Dans cette solution :

  • Le logiciel AWS IoT Greengrass Core s'exécute en tant que service système et redémarre automatiquement en cas de panne ou de redémarrage de l'appareil.

  • Les mises à jour OTA du logiciel AWS IoT Greengrass Core fonctionnent. Le logiciel est mis à jour et redémarre automatiquement.

Limites des ressources du système

Les limites de ressources par composant pour la mémoire et le processeur fonctionnent dans cette solution de la même manière que lors de l'exécution du logiciel AWS IoT Greengrass Core en tant qu'utilisateur root.

Fonctionnalités Linux requises par AWS IoT Greengrass V2

Le tableau suivant décrit les fonctionnalités Linux requises par le logiciel AWS IoT Greengrass Core lorsqu'il est exécuté dans des configurations autres que root. Ces fonctionnalités sont utilisées dans les solutions 3 et 4.

Fonctionnalités Linux requises
Capacité Description Nécessaire pour

CAP_CHOWN

Apportez des modifications arbitraires au fichier UIDs et GIDs

Modification de la propriété du fichier en fonction de l'utilisateur exécutant le composant

CAP_DAC_OVERRIDE

Contourner les vérifications d'autorisation de lecture, d'écriture et d'exécution de fichiers

Permettre à l'utilisateur du noyau Greengrass d'exécuter des fichiers lorsqu'il est utilisé pour des scripts avec RequiresPrivilege

CAP_DAC_READ_SEARCH

Contourner les vérifications d'autorisation de lecture de fichiers et les vérifications d'autorisation de lecture et d'exécution de répertoires

Parcourir la hiérarchie des dossiers, même pour les dossiers que l'utilisateur du noyau Greengrass n'est pas autorisé à lire

CAP_FOWNER

Contourner les contrôles d'autorisation sur les opérations qui nécessitent normalement que l'UID du système de fichiers du processus corresponde à l'UID du fichier

Contourner les contrôles de propriété des fichiers

CAP_SETUID

Effectuer des manipulations arbitraires du processus UIDs

À utiliser sudo lors de l'exécution de scripts en tant qu'utilisateur différent de celui qui exécute le noyau Greengrass

CAP_SETGID

Effectuer des manipulations arbitraires du processus GIDs

À utiliser sudo lors de l'exécution de scripts en tant que groupe différent du groupe exécutant le noyau Greengrass

CAP_SYS_RESOURCE

Remplacer les limites de ressources

Définition de limites de ressources pour les processus des composants, même si les limites ne sont pas spécifiées dans les déploiements

CAP_AUDIT_WRITE

Écrire des enregistrements dans le journal d'audit du noyau

sudoAutoriser l'écriture dans le journal d'audit du noyau