View a markdown version of this page

Siapkan perangkat AWS IoT Greengrass V2 inti sebagai non-root - AWS IoT Greengrass

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Siapkan perangkat AWS IoT Greengrass V2 inti sebagai non-root

Halaman ini menyajikan empat solusi untuk menjalankan perangkat lunak AWS IoT Greengrass Core sebagai non-root. Tinjau tabel perbandingan untuk memahami fitur dan pengorbanan dari setiap solusi, lalu gunakan diagram alur keputusan untuk mengidentifikasi mana yang sesuai dengan kebutuhan Anda.

catatan

Solusi non-root pada halaman ini hanya berlaku untuk AWS IoT Greengrass nukleus pada perangkat Linux. Windows tidak termasuk karena AWS IoT Greengrass V2 harus dijalankan sebagai layanan sistem pada Windows. Untuk instalasi root standar di Linux, lihatInstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis.

Untuk menjalankan AWS IoT Greengrass nucleus lite sebagai pengguna non-root, lihat Menggunakan Podman di repositori AWS IoT Greengrass nucleus lite GitHub .

Pilih solusi non-root

Gunakan tabel berikut untuk membandingkan solusi non-root dan memahami pengorbanannya. Setiap solusi menawarkan kemampuan yang berbeda tergantung pada persyaratan keamanan dan kendala perangkat Anda.

Solusi non-root
Solusi Membutuhkan akses root Dapat menjalankan komponen sebagai pengguna yang berbeda Menjalankan Greengrass sebagai layanan sistem Terbaik untuk

Solusi 1: Tidak ada akses root

Tidak

Tidak

Tidak (layanan pengguna opsional)

Perangkat di mana Anda tidak memiliki akses root

Solusi 2: Non-root, pengguna tunggal

Ya (hanya pengaturan)

Tidak

Ya

Menjalankan Greengrass sebagai pengguna non-root dengan semua komponen berjalan sebagai pengguna yang sama

Solusi 3: Non-root, multi-pengguna

Ya (hanya pengaturan)

Ya

Ya

Menjalankan Greengrass sebagai pengguna non-root saat menjalankan komponen sebagai pengguna yang berbeda

Solusi 4: Root dengan kemampuan terbatas

Ya

Ya

Ya

Menjalankan Greengrass sebagai root dengan seperangkat kemampuan Linux terbatas

Diagram alur berikut memandu Anda dalam memilih solusi yang sesuai berdasarkan kendala dan persyaratan perangkat Anda.

Diagram alir menunjukkan proses keputusan untuk memilih solusi non-root. Mulailah dengan menanyakan apakah Anda memiliki akses root pada perangkat inti Anda. Jika tidak, gunakan Solusi 1. Jika ya, tanyakan apakah Anda perlu menjalankan komponen sebagai pengguna Linux yang berbeda. Jika tidak, gunakan Solusi 2. Jika ya, tanyakan apakah Anda ingin Greengrass berjalan sebagai pengguna root dengan kemampuan terbatas. Jika ya, gunakan Solusi 4. Jika tidak, gunakan Solusi 3.

Solusi 1: Mengatur AWS IoT Greengrass V2 tanpa akses root

Gunakan solusi ini ketika Anda tidak memiliki akses root pada perangkat. Dalam konfigurasi ini, perangkat lunak AWS IoT Greengrass Core berjalan sepenuhnya sebagai pengguna non-root tanpa hak istimewa yang tinggi.

Pengorbanan

Solusi ini memiliki keterbatasan sebagai berikut:

  • Tidak ada pemisahan pengguna komponen — Semua komponen berjalan sebagai pengguna yang sama yang menjalankan perangkat lunak AWS IoT Greengrass Core. Anda tidak dapat menggunakan posixUser konfigurasi untuk menjalankan komponen sebagai pengguna yang berbeda.

  • RequiresPrivilege diabaikan — Perangkat lunak AWS IoT Greengrass Core mengabaikan RequiresPrivilege opsi dalam resep komponen. Komponen tidak dapat meminta hak istimewa yang ditinggikan.

  • Tidak ada layanan sistem — Anda tidak dapat menginstal perangkat lunak AWS IoT Greengrass Core sebagai layanan sistem. Anda dapat mengonfigurasi secara opsional AWS IoT Greengrass V2 untuk dijalankan sebagai layanan pengguna systemd.

Prasyarat

Solusi ini membutuhkan:

  • Akun pengguna non-root di perangkat

  • Tulis akses ke direktori tempat Anda ingin menginstal perangkat lunak AWS IoT Greengrass Core

Untuk menginstal dan menjalankan AWS IoT Greengrass V2 tanpa akses root
  1. Selesaikan langkah-langkah berikut dariInstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis: atur lingkungan perangkat Anda, berikan kredensyal, dan unduh perangkat lunak AWS IoT Greengrass Core.

  2. Buat direktori instalasi dan pastikan pengguna Anda memilikinya.

    mkdir -p $HOME/greengrass/v2
  3. Jalankan installer tanpasudo. Setel --component-default-user ke pengguna Anda saat ini.

    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

    Jangan gunakan --setup-system-service true karena Anda tidak memiliki akses root untuk membuat layanan sistem.

(Opsional) Siapkan layanan pengguna systemd

Anda dapat mengonfigurasi layanan pengguna systemd untuk mengelola perangkat lunak AWS IoT Greengrass Core. Ini memungkinkan perangkat lunak untuk memulai secara otomatis ketika Anda masuk.

Untuk menyiapkan layanan pengguna systemd
  1. Hentikan perangkat lunak AWS IoT Greengrass Core jika sedang berjalan.

    kill $(cat $HOME/greengrass/v2/alts/loader.pid)
  2. Buat direktori layanan pengguna systemd.

    mkdir -p $HOME/.config/systemd/user
  3. Buat file layanan di $HOME/.config/systemd/user/greengrass.service dengan konten berikut.

    [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

    Dalam file unit pengguna systemd, %h adalah specifier yang menyelesaikan ke direktori home pengguna yang menjalankan layanan.

    Ganti /path/to/java dengan jalur ke instalasi Java Anda.

  4. Aktifkan dan mulai layanan.

    systemctl --user daemon-reload systemctl --user enable greengrass.service systemctl --user start greengrass.service
Mulai ulang dan perilaku pembaruan OTA

Perilaku tergantung pada apakah Anda mengonfigurasi layanan pengguna systemd.

Dengan layanan pengguna
  • Reboot perangkat - Perangkat lunak AWS IoT Greengrass Inti dimulai secara otomatis ketika pengguna masuk.

  • Pembaruan OTA - Pembaruan OTA berhasil dan perangkat lunak dimulai ulang secara otomatis.

Tanpa layanan pengguna
  • Reboot perangkat — Perangkat lunak AWS IoT Greengrass Core tidak restart secara otomatis. Anda harus memulainya secara manual.

  • Pembaruan OTA - Pembaruan OTA berhasil, tetapi Anda harus memulai perangkat lunak AWS IoT Greengrass Core secara manual sesudahnya.

Batas sumber daya sistem

Batas sumber daya per komponen menggunakan cgroups tidak berfungsi dalam solusi ini karena pengguna non-root tidak dapat membuat direktori cgroup di. /sys/fs/cgroup/ Jika Anda menerapkan komponen dengan batas sumber daya yang dikonfigurasi, perangkat lunak AWS IoT Greengrass Core mengabaikan batas yang dikonfigurasi.

Anda dapat menggunakan alternatif berikut untuk mengelola penggunaan sumber daya:

  • Batas layanan pengguna Systemd — Jika Anda menjalankan perangkat lunak AWS IoT Greengrass Core sebagai layanan pengguna systemd, Anda dapat menambahkan batas sumber daya ke file layanan di. $HOME/.config/systemd/user/greengrass.service Batasan ini berlaku untuk seluruh layanan, termasuk inti Greengrass dan semua komponen.

    MemoryMax=2G CPUQuota=100%
  • Batas JVM inti Greengrass — Anda dapat membatasi memori proses inti Greengrass dengan mengonfigurasi opsi JVM. Untuk informasi selengkapnya, lihat Konfigurasikan perangkat lunak AWS IoT Greengrass Inti.

Solusi 2: Siapkan AWS IoT Greengrass V2 sebagai non-root tanpa pemisahan pengguna komponen

Gunakan solusi ini ketika Anda memiliki akses root untuk pengaturan awal dan ingin perangkat lunak AWS IoT Greengrass Core berjalan sebagai layanan sistem non-root, tetapi Anda tidak perlu menjalankan komponen sebagai pengguna yang berbeda. Ini mirip dengan Solusi 1, tetapi perangkat lunak berjalan sebagai layanan sistem yang dimulai secara otomatis saat boot.

Pengorbanan

Solusi ini memiliki keterbatasan sebagai berikut:

  • Tidak ada pemisahan pengguna komponen — Semua komponen berjalan sebagai pengguna yang sama yang menjalankan perangkat lunak AWS IoT Greengrass Core. Anda tidak dapat menggunakan posixUser konfigurasi untuk menjalankan komponen sebagai pengguna yang berbeda.

  • RequiresPrivilege diabaikan — Perangkat lunak AWS IoT Greengrass Core mengabaikan RequiresPrivilege opsi dalam resep komponen. Komponen tidak dapat meminta hak istimewa yang ditinggikan.

Prasyarat

Solusi ini membutuhkan:

  • Akses root untuk pengaturan awal

  • systemd di perangkat Anda

Untuk menginstal dan menjalankan AWS IoT Greengrass V2 sebagai non-root tanpa pemisahan pengguna komponen
  1. Selesaikan langkah-langkah berikut dariInstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis: atur lingkungan perangkat Anda, berikan kredensyal, dan unduh perangkat lunak AWS IoT Greengrass Core.

  2. Buat pengguna non-root yang akan menjalankan perangkat lunak AWS IoT Greengrass Core dan semua komponen.

    sudo useradd --create-home gg_non_root
  3. Masuk sebagai pengguna non-root dan jalankan penginstal. Setel --component-default-user ke pengguna yang sama. Jangan gunakan sudo dan jangan mengatur layanan sistem.

    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. Sebagai root, buat file layanan sistem di /etc/systemd/system/greengrass.service dengan konten berikut.

    [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. Hentikan instance AWS IoT Greengrass Core yang sedang berjalan, lalu aktifkan dan mulai layanan sistem.

    sudo systemctl daemon-reload sudo systemctl enable greengrass.service sudo systemctl start greengrass.service
Mulai ulang dan perilaku pembaruan OTA

Dalam solusi ini:

  • Perangkat lunak AWS IoT Greengrass Core berjalan sebagai layanan sistem dan restart secara otomatis pada kegagalan atau reboot perangkat.

  • Pembaruan OTA untuk perangkat lunak AWS IoT Greengrass Core berfungsi. Layanan restart secara otomatis sebagai pengguna non-root yang dikonfigurasi.

Batas sumber daya sistem

Batas sumber daya per komponen menggunakan cgroups tidak berfungsi dalam solusi ini karena pengguna non-root tanpa kemampuan Linux tidak dapat membuat direktori cgroup di. /sys/fs/cgroup/ Jika Anda menerapkan komponen dengan batas sumber daya yang dikonfigurasi, perangkat lunak AWS IoT Greengrass Core mengabaikan batas yang dikonfigurasi.

Anda dapat menggunakan alternatif berikut untuk mengelola penggunaan sumber daya:

  • Batas layanan Systemd — Anda dapat menambahkan batas sumber daya ke file layanan sistem di/etc/systemd/system/greengrass.service. Batasan ini berlaku untuk seluruh layanan, termasuk inti Greengrass dan semua komponen.

    MemoryMax=2G CPUQuota=100%
  • Batas JVM inti Greengrass — Anda dapat membatasi memori proses inti Greengrass dengan mengonfigurasi opsi JVM. Untuk informasi selengkapnya, lihat Konfigurasikan perangkat lunak AWS IoT Greengrass Inti.

Solusi 3: Siapkan AWS IoT Greengrass V2 sebagai non-root dengan pemisahan pengguna komponen

Gunakan solusi ini ketika Anda memiliki akses root untuk pengaturan awal tetapi ingin perangkat lunak AWS IoT Greengrass Core berjalan sebagai pengguna non-root sambil mempertahankan kemampuan untuk menjalankan komponen sebagai pengguna yang berbeda. Konfigurasi ini menggunakan kemampuan Linux dan sudoer untuk memungkinkan pengguna non-root beralih ke pengguna lain saat menjalankan komponen.

Pengorbanan

Solusi ini memiliki keterbatasan sebagai berikut:

  • Memerlukan konfigurasi sudoers - Anda harus mengkonfigurasi sudoers untuk memungkinkan pengguna menjalankan perintah sebagai AWS IoT Greengrass V2 pengguna lain.

Prasyarat

Solusi ini membutuhkan:

  • Akses root untuk pengaturan awal

  • systemd versi 229 atau yang lebih baru, yang mendukung. AmbientCapabilities Untuk memeriksa versi Anda, jalankansystemctl --version.

Untuk menginstal dan menjalankan AWS IoT Greengrass V2 sebagai non-root dengan pemisahan pengguna komponen
  1. Selesaikan langkah-langkah berikut dariInstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis: atur lingkungan perangkat Anda, berikan kredensyal, dan unduh perangkat lunak AWS IoT Greengrass Core.

  2. Buat pengguna non-root yang akan menjalankan perangkat lunak AWS IoT Greengrass Core.

    sudo useradd --create-home gg_non_root
  3. Tambahkan pengguna non-root ke sudoers sehingga dapat menjalankan perintah sebagai pengguna komponen. Buat file di/etc/sudoers.d/gg_non_root.

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

    Jika Anda mengonfigurasi komponen untuk dijalankan sebagai pengguna tambahanposixUser, tambahkan entri sudoers untuk setiap pengguna. Contoh:

    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. Masuk sebagai pengguna non-root dan jalankan penginstal. Jangan gunakan sudo dan jangan mengatur layanan sistem.

    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. Sebagai root, buat file layanan sistem di /etc/systemd/system/greengrass.service dengan konten berikut.

    [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

    Untuk informasi tentang kemampuan yang diperlukan, lihatKemampuan Linux yang dibutuhkan oleh AWS IoT Greengrass V2.

    • AmbientCapabilitiesmemberikan kemampuan Linux yang ditentukan kepada pengguna non-root yang menjalankan layanan. Hal ini memungkinkan perangkat lunak AWS IoT Greengrass Core untuk melakukan operasi istimewa seperti beralih pengguna saat menjalankan komponen, tanpa berjalan sebagai root.

    • CapabilityBoundingSetmembatasi serangkaian kemampuan maksimum yang dapat digunakan layanan dan proses turunannya. Kemampuan yang tidak ada dalam set ini akan dijatuhkan secara permanen.

    • ProtectSystem=strictmembuat seluruh sistem file read-only untuk layanan, mencegah modifikasi sistem operasi.

    • ReadWritePathsmenentukan satu-satunya direktori yang layanan dapat menulis ke.

  6. Hentikan instance AWS IoT Greengrass Core yang sedang berjalan, lalu aktifkan dan mulai layanan sistem.

    sudo systemctl daemon-reload sudo systemctl enable greengrass.service sudo systemctl start greengrass.service
Mulai ulang dan perilaku pembaruan OTA

Dalam solusi ini:

  • Perangkat lunak AWS IoT Greengrass Core berjalan sebagai layanan sistem dan restart secara otomatis pada kegagalan atau reboot perangkat.

  • Pembaruan OTA untuk perangkat lunak AWS IoT Greengrass Core berfungsi. Layanan restart secara otomatis sebagai pengguna non-root yang dikonfigurasi.

Batas sumber daya sistem

Batas sumber daya per komponen untuk memori dan CPU bekerja dalam solusi ini dengan cara yang sama seperti saat menjalankan perangkat lunak AWS IoT Greengrass Core sebagai root.

Solusi 4: Siapkan AWS IoT Greengrass V2 sebagai root dengan kemampuan terbatas

Gunakan solusi ini ketika Anda ingin perangkat lunak AWS IoT Greengrass Core berjalan sebagai root tetapi dengan serangkaian kemampuan Linux yang berkurang. Konfigurasi ini menyediakan fungsionalitas penuh berjalan sebagai root sambil membatasi permukaan serangan dengan membatasi kemampuan yang tersedia untuk perangkat lunak dan komponennya.

Pengorbanan

Solusi ini memiliki pertimbangan sebagai berikut:

  • Komponen dengan RequiresPrivilege kemampuan terbatas — Komponen yang digunakan RequiresPrivilege berjalan dengan serangkaian kemampuan terbatas yang sama dengan perangkat lunak AWS IoT Greengrass Core, bukan hak akses root penuh.

Prasyarat

Solusi ini membutuhkan:

  • Akses root

  • systemd di perangkat Anda

Untuk menginstal dan menjalankan AWS IoT Greengrass V2 sebagai root dengan kemampuan terbatas
  1. Selesaikan langkah-langkah berikut dariInstal perangkat lunak AWS IoT Greengrass Core dengan penyediaan sumber daya otomatis: atur lingkungan perangkat Anda, berikan kredensyal, dan unduh perangkat lunak AWS IoT Greengrass Core.

  2. Ubah file template layanan diGreengrassInstaller/bin/greengrass.service.template, di direktori tempat Anda mengunduh perangkat lunak AWS IoT Greengrass Core. Tambahkan baris berikut ke [Service] bagian sebelum Anda menjalankan penginstal:

    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
    • CapabilityBoundingSetadalah fitur keamanan systemd yang membatasi kemampuan Linux yang tersedia untuk perangkat lunak AWS IoT Greengrass Core dan semua proses anaknya. Dengan mengonfigurasi set pembatas, Anda membatasi apa yang dapat dilakukan oleh proses inti Greengrass dan komponen, bahkan saat dijalankan sebagai root. Untuk informasi tentang setiap kemampuan, lihatKemampuan Linux yang dibutuhkan oleh AWS IoT Greengrass V2.

    • ProtectSystem=strictmembuat seluruh sistem file read-only untuk layanan, mencegah modifikasi sistem operasi. Ini menyediakan sandboxing systemd yang melindungi file sistem bahkan jika komponen berbahaya berjalan dengan hak istimewa yang tinggi.

    • ReadWritePathsmenentukan satu-satunya direktori yang layanan dapat menulis ke. Bersama denganProtectSystem=strict, ini membatasi layanan untuk menulis hanya ke direktori AWS IoT Greengrass V2 root dan/tmp.

  3. Jalankan installer dengan--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
Mulai ulang dan perilaku pembaruan OTA

Dalam solusi ini:

  • Perangkat lunak AWS IoT Greengrass Core berjalan sebagai layanan sistem dan restart secara otomatis pada kegagalan atau reboot perangkat.

  • Pembaruan OTA untuk perangkat lunak AWS IoT Greengrass Core berfungsi. Pembaruan perangkat lunak dan restart secara otomatis.

Batas sumber daya sistem

Batas sumber daya per komponen untuk memori dan CPU bekerja dalam solusi ini dengan cara yang sama seperti saat menjalankan perangkat lunak AWS IoT Greengrass Core sebagai root.

Kemampuan Linux yang dibutuhkan oleh AWS IoT Greengrass V2

Tabel berikut menjelaskan kemampuan Linux yang dibutuhkan oleh perangkat lunak AWS IoT Greengrass Core saat berjalan dalam konfigurasi non-root. Kemampuan ini digunakan dalam Solusi 3 dan 4.

Kemampuan Linux yang dibutuhkan
Kemampuan Deskripsi Diperlukan untuk

CAP_CHOWN

Buat perubahan sewenang-wenang pada file UIDs dan GIDs

Mengubah kepemilikan file tergantung pada pengguna yang mengeksekusi komponen

CAP_DAC_OVERRIDE

Bypass file membaca, menulis, dan menjalankan pemeriksaan izin

Mengizinkan pengguna inti Greengrass untuk mengeksekusi file saat digunakan untuk skrip dengan RequiresPrivilege

CAP_DAC_READ_SEARCH

Bypass pemeriksaan izin baca file dan direktori baca dan jalankan pemeriksaan izin

Berjalan di hierarki folder bahkan untuk folder, pengguna inti Greengrass tidak memiliki izin untuk membaca

CAP_FOWNER

Bypass pemeriksaan izin pada operasi yang biasanya memerlukan UID sistem file dari proses untuk mencocokkan UID file

Melewati pemeriksaan kepemilikan file

CAP_SETUID

Buat manipulasi proses yang sewenang-wenang UIDs

Menggunakan sudo saat menjalankan skrip sebagai pengguna yang berbeda dari pengguna yang menjalankan inti Greengrass

CAP_SETGID

Buat manipulasi proses yang sewenang-wenang GIDs

Menggunakan sudo saat menjalankan skrip sebagai grup yang berbeda dari grup yang menjalankan inti Greengrass

CAP_SYS_RESOURCE

Ganti batas sumber daya

Menetapkan batas sumber daya pada proses komponen, meskipun batas tidak ditentukan dalam penerapan

CAP_AUDIT_WRITE

Menulis catatan ke log audit kernel

Memungkinkan sudo untuk menulis ke log audit kernel