기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS IoT Greengrass V2 코어 디바이스를 루트가 아닌 디바이스로 설정
이 페이지에서는 AWS IoT Greengrass 코어 소프트웨어를 루트가 아닌 것으로 실행하기 위한 네 가지 솔루션을 제공합니다. 비교 표를 검토하여 각 솔루션의 기능과 장단점을 파악한 다음 결정 순서도를 사용하여 요구 사항에 맞는 솔루션을 식별합니다.
참고
이 페이지의 루트가 아닌 솔루션은 Linux 디바이스의 AWS IoT Greengrass nucleus에만 적용됩니다. 는 Windows에서 시스템 서비스로 실행 AWS IoT Greengrass V2 되므로 Windows는 포함되지 않습니다. Linux의 표준 루트 설치는 섹션을 참조하세요자동 리소스 프로비저닝을 사용하여 AWS IoT Greengrass 코어 소프트웨어 설치.
루트가 아닌 사용자로 AWS IoT Greengrass nucleus lite를 실행하려면 AWS IoT Greengrass nucleus lite GitHub 리포지토리의 Podman 사용을
주제
루트가 아닌 솔루션 선택
다음 표를 사용하여 루트가 아닌 솔루션을 비교하고 장단점을 이해합니다. 각 솔루션은 보안 요구 사항 및 디바이스 제약 조건에 따라 다양한 기능을 제공합니다.
| Solution | 루트 액세스 필요 | 다른 사용자로 구성 요소 실행 가능 | Greengrass를 시스템 서비스로 실행합니다. | 최적의 용도 |
|---|---|---|---|---|
아니요 |
아니요 |
아니요(사용자 서비스 선택 사항) |
루트 액세스 권한이 없는 디바이스 |
|
예(설정만 해당) |
아니요 |
예 |
모든 구성 요소가 동일한 사용자로 실행되는 루트가 아닌 사용자로 Greengrass 실행 |
|
예(설정만 해당) |
예 |
예 |
다른 사용자로 구성 요소를 실행하는 동안 루트가 아닌 사용자로 Greengrass 실행 |
|
예 |
예 |
예 |
제한된 Linux 기능 세트를 사용하여 Greengrass를 루트로 실행 |
다음 순서도는 디바이스 제약 조건 및 요구 사항에 따라 적절한 솔루션을 선택하는 방법을 안내합니다.
솔루션 1: 루트 액세스 AWS IoT Greengrass V2 없이 설정
디바이스에 루트 액세스 권한이 없는 경우이 솔루션을 사용합니다. 이 구성에서 AWS IoT Greengrass 코어 소프트웨어는 승격된 권한 없이 루트가 아닌 사용자로 완전히 실행됩니다.
단점
이 솔루션에는 다음과 같은 제한 사항이 있습니다.
구성 요소 사용자 분리 없음 - 모든 구성 요소는 AWS IoT Greengrass 코어 소프트웨어를 실행하는 동일한 사용자로 실행됩니다.
posixUser구성을 사용하여 다른 사용자로 구성 요소를 실행할 수 없습니다.RequiresPrivilege 무시됨 - AWS IoT Greengrass 코어 소프트웨어는 구성 요소 레시피의
RequiresPrivilege옵션을 무시합니다. 구성 요소는 승격된 권한을 요청할 수 없습니다.시스템 서비스 없음 - AWS IoT Greengrass 코어 소프트웨어를 시스템 서비스로 설치할 수 없습니다. 선택적으로를 시스템 사용자 서비스로 실행 AWS IoT Greengrass V2 하도록 구성할 수 있습니다.
사전 조건
이 솔루션에는 다음이 필요합니다.
디바이스의 루트가 아닌 사용자 계정
AWS IoT Greengrass 코어 소프트웨어를 설치하려는 디렉터리에 대한 쓰기 액세스 권한
루트 액세스 AWS IoT Greengrass V2 없이를 설치하고 실행하려면
-
에서 디바이스 환경을 자동 리소스 프로비저닝을 사용하여 AWS IoT Greengrass 코어 소프트웨어 설치설정하고, 자격 증명을 제공하고, AWS IoT Greengrass 코어 소프트웨어를 다운로드하는 단계를 완료합니다.
-
설치 디렉터리를 생성하고 사용자가 소유하는지 확인합니다.
mkdir -p $HOME/greengrass/v2 -
없이 설치 관리자를 실행합니다
sudo. 를 현재 사용자--component-default-user로 설정합니다.java -Droot="$HOME/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-regionregion\ --thing-nameMyGreengrassCore\ --thing-group-nameMyGreengrassCoreGroup\ --thing-policy-nameGreengrassV2IoTThingPolicy\ --tes-role-nameGreengrassV2TokenExchangeRole\ --tes-role-alias-nameGreengrassCoreTokenExchangeRoleAlias\ --component-default-user $USER \ --provision true시스템 서비스를 생성할 루트 액세스 권한이
--setup-system-service true없으므로를 사용하지 마십시오.
(선택 사항) 시스템 사용자 서비스 설정
AWS IoT Greengrass 코어 소프트웨어를 관리하도록 시스템 사용자 서비스를 구성할 수 있습니다. 이렇게 하면 로그인할 때 소프트웨어가 자동으로 시작됩니다.
시스템 사용자 서비스를 설정하려면
-
AWS IoT Greengrass 코어 소프트웨어가 현재 실행 중인 경우 중지합니다.
kill $(cat $HOME/greengrass/v2/alts/loader.pid) -
systemd user service 디렉터리를 생성합니다.
mkdir -p $HOME/.config/systemd/user -
다음 콘텐츠를
$HOME/.config/systemd/user/greengrass.service사용하여에서 서비스 파일을 생성합니다.[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시스템 사용자 단위 파일에서
%h는 서비스를 실행하는 사용자의 홈 디렉터리로 확인되는 지정자입니다./path/to/java를 Java 설치 경로로 바꿉니다. -
서비스를 활성화하고 시작합니다.
systemctl --user daemon-reload systemctl --user enable greengrass.service systemctl --user start greengrass.service
재시작 및 OTA 업데이트 동작
동작은 시스템 사용자 서비스를 구성했는지 여부에 따라 달라집니다.
- 사용자 서비스 사용
-
디바이스 재부팅 - 사용자가 로그인할 때 AWS IoT Greengrass 코어 소프트웨어가 자동으로 시작됩니다.
OTA 업데이트 - OTA 업데이트가 성공하고 소프트웨어가 자동으로 다시 시작됩니다.
- 사용자 서비스 없음
-
디바이스 재부팅 - AWS IoT Greengrass 코어 소프트웨어가 자동으로 다시 시작되지 않습니다. 수동으로 시작해야 합니다.
OTA 업데이트 - OTA 업데이트가 성공했지만 나중에 AWS IoT Greengrass 수동으로 코어 소프트웨어를 시작해야 합니다.
시스템 리소스 제한
cgroup을 사용하는 구성 요소별 리소스 제한은 루트 사용자가 아닌 사용자가에서 cgroup 디렉터리를 생성할 수 없기 때문에이 솔루션에서 작동하지 않습니다/sys/fs/cgroup/. 리소스 제한이 구성된 구성 요소를 배포하는 경우 AWS IoT Greengrass 코어 소프트웨어는 구성된 제한을 무시합니다.
다음 대안을 사용하여 리소스 사용량을 관리할 수 있습니다.
-
시스템 사용자 서비스 제한 - AWS IoT Greengrass 코어 소프트웨어를 시스템 사용자 서비스로 실행하는 경우의 서비스 파일에 리소스 제한을 추가할 수 있습니다
$HOME/.config/systemd/user/greengrass.service. 이러한 제한은 Greengrass nucleus 및 모든 구성 요소를 포함한 전체 서비스에 적용됩니다.MemoryMax=2G CPUQuota=100% -
Greengrass nucleus JVM 제한 - JVM 옵션을 구성하여 Greengrass nucleus 프로세스 메모리를 제한할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 구성 단원을 참조하십시오.
솔루션 2: 구성 요소 사용자 분리 없이 루트가 아닌 AWS IoT Greengrass V2 것으로 설정
초기 설정을 위한 루트 액세스 권한이 있고 AWS IoT Greengrass 코어 소프트웨어를 루트가 아닌 시스템 서비스로 실행하려는 경우이 솔루션을 사용합니다. 하지만 다른 사용자로 구성 요소를 실행할 필요는 없습니다. 이는 솔루션 1과 유사하지만 소프트웨어는 부팅 시 자동으로 시작되는 시스템 서비스로 실행됩니다.
단점
이 솔루션에는 다음과 같은 제한 사항이 있습니다.
구성 요소 사용자 분리 없음 - 모든 구성 요소는 AWS IoT Greengrass 코어 소프트웨어를 실행하는 동일한 사용자로 실행됩니다.
posixUser구성을 사용하여 다른 사용자로 구성 요소를 실행할 수 없습니다.RequiresPrivilege 무시됨 - AWS IoT Greengrass 코어 소프트웨어는 구성 요소 레시피의
RequiresPrivilege옵션을 무시합니다. 구성 요소는 승격된 권한을 요청할 수 없습니다.
사전 조건
이 솔루션에는 다음이 필요합니다.
초기 설정을 위한 루트 액세스
디바이스에 시스템됨
구성 요소 사용자 분리 없이 루트가 아닌 AWS IoT Greengrass V2 를 설치하고 실행하려면
-
에서 디바이스 환경을 자동 리소스 프로비저닝을 사용하여 AWS IoT Greengrass 코어 소프트웨어 설치설정하고, 자격 증명을 제공하고, AWS IoT Greengrass 코어 소프트웨어를 다운로드하는 단계를 완료합니다.
-
AWS IoT Greengrass 코어 소프트웨어와 모든 구성 요소를 실행할 루트가 아닌 사용자를 생성합니다.
sudo useradd --create-home gg_non_root -
루트가 아닌 사용자로 로그인하고 설치 관리자를 실행합니다.
--component-default-user를 동일한 사용자로 설정합니다. 시스템 서비스를sudo사용하거나 설정하지 마십시오.java -Droot="/home/gg_non_root/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-regionregion\ --thing-nameMyGreengrassCore\ --thing-group-nameMyGreengrassCoreGroup\ --thing-policy-nameGreengrassV2IoTThingPolicy\ --tes-role-nameGreengrassV2TokenExchangeRole\ --tes-role-alias-nameGreengrassCoreTokenExchangeRoleAlias\ --component-default-user gg_non_root \ --provision true \ --setup-system-service false -
루트로 다음 콘텐츠를
/etc/systemd/system/greengrass.service사용하여에서 시스템 서비스 파일을 생성합니다.[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 -
실행 중인 AWS IoT Greengrass 코어 인스턴스를 중지한 다음 시스템 서비스를 활성화하고 시작합니다.
sudo systemctl daemon-reload sudo systemctl enable greengrass.service sudo systemctl start greengrass.service
재시작 및 OTA 업데이트 동작
이 솔루션에서 다음을 수행합니다.
AWS IoT Greengrass 코어 소프트웨어는 시스템 서비스로 실행되며 장애 또는 디바이스 재부팅 시 자동으로 다시 시작됩니다.
AWS IoT Greengrass 코어 소프트웨어에 대한 OTA 업데이트가 작동합니다. 구성된 루트가 아닌 사용자로 서비스가 자동으로 다시 시작됩니다.
시스템 리소스 제한
Linux 기능이 없는 루트가 아닌 사용자는에서 cgroup 디렉터리를 생성할 수 없으므로이 솔루션에서는 cgroup을 사용하는 구성 요소별 리소스 제한이 작동하지 않습니다/sys/fs/cgroup/. 리소스 제한이 구성된 구성 요소를 배포하는 경우 AWS IoT Greengrass 코어 소프트웨어는 구성된 제한을 무시합니다.
다음 대안을 사용하여 리소스 사용량을 관리할 수 있습니다.
-
시스템 서비스 제한 -에서 시스템 서비스 파일에 리소스 제한을 추가할 수 있습니다
/etc/systemd/system/greengrass.service. 이러한 제한은 Greengrass nucleus 및 모든 구성 요소를 포함한 전체 서비스에 적용됩니다.MemoryMax=2G CPUQuota=100% -
Greengrass nucleus JVM 제한 - JVM 옵션을 구성하여 Greengrass nucleus 프로세스 메모리를 제한할 수 있습니다. 자세한 내용은 AWS IoT Greengrass 코어 소프트웨어 구성 단원을 참조하십시오.
솔루션 3: 구성 요소 사용자 분리를 사용하여 루트가 아닌 AWS IoT Greengrass V2 것으로 설정
초기 설정을 위한 루트 액세스 권한이 있지만 다른 사용자로 구성 요소를 실행하는 기능을 유지하면서 AWS IoT Greengrass 코어 소프트웨어를 루트가 아닌 사용자로 실행하려는 경우이 솔루션을 사용합니다. 이 구성은 Linux 기능과 sudoer를 사용하여 루트가 아닌 사용자가 구성 요소를 실행할 때 다른 사용자로 전환할 수 있도록 합니다.
단점
이 솔루션에는 다음과 같은 제한 사항이 있습니다.
sudoers 구성 필요 - AWS IoT Greengrass V2 사용자가 다른 사용자로 명령을 실행할 수 있도록 sudoers를 구성해야 합니다.
사전 조건
이 솔루션에는 다음이 필요합니다.
초기 설정을 위한 루트 액세스
를 지원하는 systemd 버전 229 이상
AmbientCapabilities. 버전을 확인하려면systemctl --version을 실행합니다.
구성 요소 사용자 분리를 사용하여 루트가 아닌 AWS IoT Greengrass V2 를 설치하고 실행하려면
-
에서 디바이스 환경을 자동 리소스 프로비저닝을 사용하여 AWS IoT Greengrass 코어 소프트웨어 설치설정하고, 자격 증명을 제공하고, AWS IoT Greengrass 코어 소프트웨어를 다운로드하는 단계를 완료합니다.
-
AWS IoT Greengrass 코어 소프트웨어를 실행할 루트가 아닌 사용자를 생성합니다.
sudo useradd --create-home gg_non_root -
루트가 아닌 사용자를 sudoers에 추가하여 구성 요소 사용자로 명령을 실행할 수 있도록 합니다. 에서 파일을 생성합니다
/etc/sudoers.d/gg_non_root.gg_non_root ALL=(ggc_user:ggc_group) NOPASSWD: SETENV: /bin/sh, /bin/bash를 사용하여 추가 사용자로 실행하도록 구성 요소를 구성하는 경우 각 사용자에 대해 sudoers 항목을
posixUser추가합니다. 예제: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 -
루트가 아닌 사용자로 로그인하고 설치 관리자를 실행합니다. 시스템 서비스를
sudo사용하거나 설정하지 마십시오.java -Droot="/home/gg_non_root/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-regionregion\ --thing-nameMyGreengrassCore\ --thing-group-nameMyGreengrassCoreGroup\ --thing-policy-nameGreengrassV2IoTThingPolicy\ --tes-role-nameGreengrassV2TokenExchangeRole\ --tes-role-alias-nameGreengrassCoreTokenExchangeRoleAlias\ --component-default-user ggc_user:ggc_group \ --provision true \ --setup-system-service false -
루트로 다음 콘텐츠를
/etc/systemd/system/greengrass.service사용하여에서 시스템 서비스 파일을 생성합니다.[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필요한 기능에 대한 자세한 내용은 섹션을 참조하세요에 필요한 Linux 기능 AWS IoT Greengrass V2.
AmbientCapabilities는 서비스를 실행하는 루트가 아닌 사용자에게 지정된 Linux 기능을 부여합니다. 이렇게 하면 AWS IoT Greengrass 코어 소프트웨어가 루트로 실행되지 않고 구성 요소를 실행할 때 사용자 전환과 같은 권한 있는 작업을 수행할 수 있습니다.CapabilityBoundingSet는 서비스와 하위 프로세스가 사용할 수 있는 최대 기능 세트를 제한합니다. 이 세트에 없는 기능은 영구적으로 삭제됩니다.ProtectSystem=strict는 서비스에 대해 전체 파일 시스템을 읽기 전용으로 설정하여 운영 체제 수정을 방지합니다.ReadWritePaths는 서비스가 쓸 수 있는 유일한 디렉터리를 지정합니다.
-
실행 중인 AWS IoT Greengrass 코어 인스턴스를 중지한 다음 시스템 서비스를 활성화하고 시작합니다.
sudo systemctl daemon-reload sudo systemctl enable greengrass.service sudo systemctl start greengrass.service
재시작 및 OTA 업데이트 동작
이 솔루션에서 다음을 수행합니다.
AWS IoT Greengrass 코어 소프트웨어는 시스템 서비스로 실행되며 장애 또는 디바이스 재부팅 시 자동으로 다시 시작됩니다.
AWS IoT Greengrass 코어 소프트웨어에 대한 OTA 업데이트가 작동합니다. 구성된 루트가 아닌 사용자로 서비스가 자동으로 다시 시작됩니다.
시스템 리소스 제한
이 솔루션에서 메모리 및 CPU에 대한 구성 요소별 리소스 제한은 AWS IoT Greengrass 코어 소프트웨어를 루트로 실행할 때와 동일한 방식으로 작동합니다.
솔루션 4: 기능이 제한된 루트 AWS IoT Greengrass V2 로 설정
AWS IoT Greengrass 코어 소프트웨어를 루트로 실행하되 Linux 기능 세트를 줄이려면이 솔루션을 사용합니다. 이 구성은 소프트웨어 및 해당 구성 요소에 사용할 수 있는 기능을 제한하여 공격 표면을 제한하면서 루트로 실행되는의 전체 기능을 제공합니다.
단점
이 솔루션의 고려 사항은 다음과 같습니다.
RequiresPrivilege가 있는 구성 요소에는 제한된 기능이 있습니다.를 사용하는 구성 요소는 전체 루트 권한이 아니라 AWS IoT Greengrass 코어 소프트웨어와 동일한 제한된 기능 집합으로
RequiresPrivilege실행됩니다.
사전 조건
이 솔루션에는 다음이 필요합니다.
루트 액세스
디바이스에 시스템됨
제한된 기능을 사용하여 루트 AWS IoT Greengrass V2 로를 설치하고 실행하려면
-
에서 디바이스 환경을 자동 리소스 프로비저닝을 사용하여 AWS IoT Greengrass 코어 소프트웨어 설치설정하고, 자격 증명을 제공하고, AWS IoT Greengrass 코어 소프트웨어를 다운로드하는 단계를 완료합니다.
-
AWS IoT Greengrass 코어 소프트웨어를 다운로드한 디렉터리의
GreengrassInstaller/bin/greengrass.service.template에서 서비스 템플릿 파일을 수정합니다. 설치 관리자를 실행하기 전에[Service]섹션에 다음 줄을 추가합니다.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 /tmpCapabilityBoundingSet는 AWS IoT Greengrass 코어 소프트웨어 및 모든 하위 프로세스에 사용할 수 있는 Linux 기능을 제한하는 시스템 보안 기능입니다. 경계 집합을 구성하면 루트로 실행되더라도 Greengrass nucleus 프로세스 및 구성 요소가 수행할 수 있는 작업을 제한할 수 있습니다. 각 기능에 대한 자세한 내용은 섹션을 참조하세요에 필요한 Linux 기능 AWS IoT Greengrass V2.ProtectSystem=strict는 서비스에 대해 전체 파일 시스템을 읽기 전용으로 설정하여 운영 체제 수정을 방지합니다. 이렇게 하면 악성 구성 요소가 승격된 권한으로 실행되는 경우에도 시스템 파일을 보호하는 시스템화된 샌드박싱이 제공됩니다.ReadWritePaths는 서비스가 쓸 수 있는 유일한 디렉터리를 지정합니다. 와 함께ProtectSystem=strict이렇게 하면 서비스가 AWS IoT Greengrass V2 루트 디렉터리 및 에만 쓰는 것으로 제한됩니다/tmp.
-
를 사용하여 설치 관리자를 실행합니다
--setup-system-service true.sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE \ -jar ./GreengrassInstaller/lib/Greengrass.jar \ --aws-regionregion\ --thing-nameMyGreengrassCore\ --thing-group-nameMyGreengrassCoreGroup\ --thing-policy-nameGreengrassV2IoTThingPolicy\ --tes-role-nameGreengrassV2TokenExchangeRole\ --tes-role-alias-nameGreengrassCoreTokenExchangeRoleAlias\ --component-default-user ggc_user:ggc_group \ --provision true \ --setup-system-service true
재시작 및 OTA 업데이트 동작
이 솔루션에서 다음을 수행합니다.
AWS IoT Greengrass 코어 소프트웨어는 시스템 서비스로 실행되며 장애 또는 디바이스 재부팅 시 자동으로 다시 시작됩니다.
AWS IoT Greengrass 코어 소프트웨어에 대한 OTA 업데이트가 작동합니다. 소프트웨어가 자동으로 업데이트되고 다시 시작됩니다.
시스템 리소스 제한
이 솔루션에서 메모리 및 CPU에 대한 구성 요소별 리소스 제한은 AWS IoT Greengrass 코어 소프트웨어를 루트로 실행할 때와 동일한 방식으로 작동합니다.
에 필요한 Linux 기능 AWS IoT Greengrass V2
다음 표에서는 루트가 아닌 구성으로 실행할 때 AWS IoT Greengrass 코어 소프트웨어에 필요한 Linux 기능에 대해 설명합니다. 이러한 기능은 솔루션 3 및 4에서 사용됩니다.
| 기능 | 설명 | 에 필수 |
|---|---|---|
|
파일 UIDs 및 GIDs |
구성 요소를 실행하는 사용자에 따라 파일 소유권 변경 |
|
파일 읽기, 쓰기 및 실행 권한 검사 우회 |
에서 스크립트에 사용할 때 Greengrass nucleus 사용자가 파일을 실행하도록 허용 |
|
파일 읽기 권한 확인 및 디렉터리 읽기 및 실행 권한 확인 우회 |
Greengrass nucleus 사용자에게 읽기 권한이 없는 폴더에 대해서도 폴더 계층 구조를 안내합니다. |
|
일반적으로 파일의 UID와 일치하도록 프로세스의 파일 시스템 UID가 필요한 작업에 대한 권한 검사 우회 |
파일 소유권 검사 우회 |
|
프로세스 UIDs를 임의로 조작 |
Greengrass nucleus를 실행하는 사용자와 다른 사용자로 스크립트를 실행할 |
|
프로세스 GIDs를 임의로 조작 |
Greengrass nucleus를 실행하는 그룹과 다른 그룹으로 스크립트를 실행할 |
|
리소스 제한 재정의 |
배포에 제한이 지정되지 않은 경우에도 구성 요소 프로세스에 대한 리소스 제한 설정 |
|
커널 감사 로그에 레코드 쓰기 |
|