masa.yamaguchi
2025年3月24日 16時18分
==========
製品型番:Aramadillo-610
ABOSバージョン:3.20.3-at.8
カーネルバージョン: 5.10.233
その他:ATDE9を使用
==========
コンテナ起動時における、複数コンテナによるmicroSD自動マウントについてお伺いしたいことがございます。
現在、1コンテナでmicroSD自動マウントする場合、以下手順で実施しております。
・ホストで/mnt/sdcard フォルダ作成 ・ホストの/etc/fstab に以下記載追加 /dev/mmcblk1p1 /mnt/sdcard ext4 defaults 0 0 ・対象コンテナ:マウントしたいアプリのapp.confに以下記載追加 add_hotplugs mmc add_args --cap-add=SYS_ADMIN add_volumes /live/rootfs/mnt/sdcard:/mnt/sdcard
上記は1つのコンテナで実施する場合の、こちらで実施しているmicroSD自動マウント手順です。(これがあるべき方法かは未確認)
複数のコンテナで、起動時にmicroSDを自動マウントして、アクセスできるようにしたいと考えているのですが、
その場合通常はどのような手順になるかご教示頂きたいです。
コメント
masa.yamaguchi
アットマークテクノ 下山様
> https://armadillo.atmark-techno.com/howto/autofs > こちらで紹介されている方法で自動マウントを行うようにすれば、複数のコンテナからアクセスできるようになるかと思います。 > > まずはこの方法で問題がないか、ご確認いただけますでしょうか?
masa.yamaguchiです。
上記方法を確認しました。sdは認識されましたが、添付資料「ディレクトリに入れない0325.png」のとおり、cd で sdフォルダに入れませんでした。
念のため、別のコンテナ内で、 mount /dev/mmcblk1p1 /mnt を実施したところ、SD内は入れました。
以下お伺いしたいことがございます。
①autofs こちらの手順に問題がございましたら、コメント頂けますと幸いです。
②1つのコンテナでのみmicroSDにアクセスする場合(複数コンテナでのアクセスはしない)ならば、以下の手順で問題ないでしょうか。
<シェルスクリプト main.sh の場合> ①app.confに以下記載を追加する。 ーーーーー add_hotplugs mmc add_args --cap-add=SYS_ADMIN ーーーーー ② コンテナ起動時に呼ばれるシェルスクリプト(main.sh)に以下 「mount /dev/mmcblk1p1 /mnt」を記載 #!/bin/bash -e # for mmc mount /dev/mmcblk1p1 /mnt sleep infinity
ファイル | ファイルの説明 |
---|---|
ディレクトリに入れない0325.png |
at_shota.shimoyama
masa.yamaguchi 様
> ①autofs こちらの手順に問題がございましたら、コメント頂けますと幸いです。
すみません、ブログの内容が誤っていました。
autofsコンテナのコンフィグファイルのadd_hotplugs
でmmc
が抜けていました。
以下のようにmmcを追加してください。
# sd は usb メモリ等のため # misc は /dev/autofs のアクセス権限のため add_hotplugs sd mmc misc
> ②1つのコンテナでのみmicroSDにアクセスする場合(複数コンテナでのアクセスはしない)ならば、以下の手順で問題ないでしょうか。
はい、1つのコンテナのみの場合もautofsコンテナを使用する手順の方がセキュリティの観点からより望ましい(SYS_ADMIN は強力で、メインのアプリケーションを実行するコンテナに付与するのはセキュリティ的なリスクを伴います)のですが、
その手順でも機能的には問題ありません。
よろしくおねがいします。
masa.yamaguchi
アットマークテクノ 下山様
masa.yamaguchi です。
# sd は usb メモリ等のため # misc は /dev/autofs のアクセス権限のため add_hotplugs sd mmc misc
ご回答ありがとうございます。
上記ご教示頂いた対応で、期待通りの動作を確認(microSDにアクセス)できました。
小出しで申し訳ございませんが、あと1点だけお伺いしたいことがございます。
はい、1つのコンテナのみの場合もautofsコンテナを使用する手順の方がセキュリティの観点からより望ましい (SYS_ADMIN は強力で、メインのアプリケーションを実行するコンテナに付与するのはセキュリティ的なリスクを伴います)のですが、
上記ご指摘の個所ですが、もし仮に以下①のapp.confに記載する対応で、セキュリティに制限をかける方法はございますでしょうか。
(念のため、既存の方法でもセキュリティリスクを減らす方法があれば知りたく思いお伺いしております)
①app.confに以下記載を追加する。 ーーーーー add_hotplugs mmc add_args --cap-add=SYS_ADMIN ーーーーー
at_shota.shimoyama
masa.yamaguchi 様
> 上記ご指摘の個所ですが、もし仮に以下①のapp.confに記載する対応で、セキュリティに制限をかける方法はございますでしょうか。
> (念のため、既存の方法でもセキュリティリスクを減らす方法があれば知りたく思いお伺いしております)
すみませんが、無いと考えていいと思います。
SYS_ADMINはほぼrootと同じくらいの権限なので、mount以外にもいろいろなことができてしまいます。
その状況でセキュリティリスクを抑えるためには、mount以外の使用しない機能について手動で制限する対策が必要になります。
ただ、SYS_ADMINが無くてもコンテナ内にアクセスされた時点で終わりという考え方ができるようなケースであれば、SYS_ADMINを与えないことにこだわる必要はないかもしれません。(これは、セキュリティの重要性がどの程度あるのか、侵入されることによる損害が無視できないものなのかといったところで、ケースごとに異なる話ですが…)
masa.yamaguchi
at_shota.shimoyama
2025年3月24日 19時33分
アットマークテクノの下山です。
https://armadillo.atmark-techno.com/howto/autofs
こちらで紹介されている方法で自動マウントを行うようにすれば、複数のコンテナからアクセスできるようになるかと思います。
まずはこの方法で問題がないか、ご確認いただけますでしょうか?
よろしくお願いします。