hiroki.nakatani
2025年4月1日 15時04分
==========
製品型番:Armadillo-IoT A6E
Debian/ABOSバージョン:3.21.3-at.1
カーネルバージョン:2020.4-at.25
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
以下の流れで
/etc/atmark/abos_web/customize_rest/emmc_usage.sh
をコンテナから実行しようとしたところ、エラーとなります。
他のシェルは同様に実行できたのですが、なぜ該当シェルのみ実行できないのか教えていただけないでしょうか。
■シェル&コマンド
armadillo:/etc/atmark/abos_web/customize_rest# cat /etc/doas.d/abos_web_customize.conf
permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/wifi_signal.sh
permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/cpu_usage.sh
permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/mem_usage.sh
permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/filesystem_usage.sh
permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/emmc_usage.sh
armadillo:/etc/atmark/abos_web/customize_rest# cat /etc/atmark/abos_web/customize_rest/emmc_usage.sh
#!/bin/sh
mmc extcsd read /dev/mmcblk0 | grep EXT_CSD_PRE_EOL_INFO | awk -F': ' '{print $2}' | xargs printf "%d\n"
armadillo:/etc/atmark/abos_web/customize_rest# persist_file -rvP /etc/atmark/abos_web/customize_rest/emmc_usage.sh
persist_file -rvP /etc/doas.d/abos_web_customize.confremoved '/target/etc/atmark/abos_web/customize_rest/emmc_usage.sh'
'/mnt/etc/atmark/abos_web/customize_rest/emmc_usage.sh' -> '/target/etc/atmark/abos_web/customize_rest/emmc_usage.sh'
armadillo:/etc/atmark/abos_web/customize_rest# persist_file -rvP /etc/doas.d/abos_web_customize.conf
removed '/target/etc/doas.d/abos_web_customize.conf'
'/mnt/etc/doas.d/abos_web_customize.conf' -> '/target/etc/doas.d/abos_web_customize.conf'
armadillo:/etc/atmark/abos_web/customize_rest# podman stop node-red
node-red
armadillo:/etc/atmark/abos_web/customize_rest# podman_start node-red
Starting 'node-red'
37fce31b328c48b28fae124a5be4c78862cbce32c50dc8a89618bfdde57abc87
armadillo:/etc/atmark/abos_web/customize_rest# podman exec -it node-red /bin/bash
root@37fce31b328c:~# curl -k -s -H "$AUTH" -X POST "https://host.containers.internal:58080/api/custom/emmc_usage.sh"
ssse-flw: EmbSe_Init(): Entry
App :INFO :Using PortName='/dev/i2c-1:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-1:0x48)
sss :INFO :atr (Len=35)
00 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 08
01 00 00 00 00 64 00 00 0A 4A 43 4F 50 34 20 41
54 50 4F
sss :WARN :Communication channel is Plain.
sss :WARN :!!!Not recommended for production use.!!!
ssse-flw: Version: 1.0.5
ssse-flw: EmbSe_Init(): Exit
ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
{"stderr":"open: Permission denied\n"}
{"stderr":"printf: invalid number ''\n"}
{"stdout":"0\n"}
{"exit_code":123}
root@37fce31b328c:~#
コメント
hiroki.nakatani
マルティネさん
お世話になっております。
早速のご回答ありがとうございます。
-d root=trueをつけて実行したところ、正常動作しました。
root@e576c29dc424:~# curl -k -s -d root=true -H "$AUTH" -X POST "https://host.containers.internal:58080/api/custom/emmc_usage.sh"
ssse-flw: EmbSe_Init(): Entry
App :INFO :Using PortName='/dev/i2c-1:0x48' (ENV: EX_SSS_BOOT_SSS_PORT=/dev/i2c-1:0x48)
sss :INFO :atr (Len=35)
00 A0 00 00 03 96 04 03 E8 00 FE 02 0B 03 E8 08
01 00 00 00 00 64 00 00 0A 4A 43 4F 50 34 20 41
54 50 4F
sss :WARN :Communication channel is Plain.
sss :WARN :!!!Not recommended for production use.!!!
ssse-flw: Version: 1.0.5
ssse-flw: EmbSe_Init(): Exit
ssse-flw: Control Command EMBSE_LOG_LEVEL; requested log level = 4
{"stdout":"1\n"}
{"exit_code":0}
at_dominique.m…
2025年4月1日 15時35分
hiroki.nakataniさん
お世話になっています、
マルティネです。
> permit nopass abos-web-admin as root cmd /etc/atmark/abos_web/customize_rest/emmc_usage.sh
> armadillo:/etc/atmark/abos_web/customize_rest# podman exec -it node-red /bin/bash
> root@37fce31b328c:~# curl -k -s -H "$AUTH" -X POST "https://host.containers.internal:58080/api/custom/emmc_usage.sh"
> {"stderr":"open: Permission denied\n"}
rootで実行できるように設定しましたが, curl コマンドにも「root」の設定を提供しないと一般ユーザーで実行されてしまいます:
https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
「
-d root=true
」か「-H 'Content-type: application/json' -d '{"root":true}'
」のどちらかを追加して実行してみてください。よろしくお願いします