Armadilloフォーラム

podmanコマンドを一般ユーザーで実行するための設定について

fss-sh

2025年7月8日 17時53分

==========
製品型番:AGX4500-C00D0
Debian/ABOSバージョン:3.20.3-at.4
カーネルバージョン:5.10.228-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

podmanコマンドや podman_startコマンドが rootユーザーでしか実行できないようですが、一般ユーザーで実行できるようにしておくにはどうしたらいいでしょうか。
Webフォーラムには同様の記事(https://armadillo.atmark-techno.com/forum/armadillo/19456)を発見しましたが、現在のバージョンでは非サポートのように読めました。
当社のセキュリティチームから今後指摘を受ける可能性があるため、回避方法があれば把握しておきたい、というのは質問の背景です。

コメント

at_dominique.m…

2025年7月10日 9時49分

fss-shさん

お世話になっています、
マルティネです。

> podmanコマンドや podman_startコマンドが rootユーザーでしか実行できないようですが、一般ユーザーで実行できるようにしておくにはどうしたらいいでしょうか。
> Webフォーラムには同様の記事(https://armadillo.atmark-techno.com/forum/armadillo/19456)を発見しましたが、現在のバージョンでは非サポートのように読めました。
> 当社のセキュリティチームから今後指摘を受ける可能性があるため、回避方法があれば把握しておきたい、というのは質問の背景です。

背景ありがとうございます。
コンテナに --add-cap 等で capability を与えず、 --user でコンテナ内のユーザーを root 以外に設定すればそれほど変わらないと言いたいところですが、要望としては理解しています。

リンクしていただいたフォーラムより変更はありません。

どうしてもユーザーでコンテナを実行したい場合は以下の設定を行った後に実行可能になりますが、
OSアップデート後に new[ug]idmap の setuid ビットがなくなって実行できなくなりますし、
イメージ管理機能は全くなくなります。

# atmark ユーザーで実行
armadillo:~$ mkdir -p .config/containers
armadillo:~$ printf "%s\n" '[storage]' 'driver = "vfs"' > .config/containers/storage.conf
armadillo:~$ cat .config/containers/storage.conf
[storage]
driver = "vfs"
armadillo:~$ mkdir -p .local/share/containers/
armadillo:~$ ln -s /var/app/volumes/containers_storage ~/.local/share/containers/storage
 
# root ユーザーで実行
armadillo:~# persist_file -p ~atmark/.config/containers/storage.conf ~atmark/.local/share/containers/storage 
armadillo:~# chmod u+s /usr/bin/newuidmap /usr/bin/newgidmap 
armadillo:~# persist_file /usr/bin/newuidmap /usr/bin/newgidmap 
armadillo:~# mkdir /var/app/volumes/containers_storage
armadillo:~# chown atmark: /var/app/volumes/containers_storage

現状の 5.10 カーネルでは一般ユーザーで driver=overlay を利用できないため、
こちらの機能は来年カーネルを更新してからの予定です。
カーネルを更新できたら、root ユーザーで利用している読み取り専用のイメージストアを利用できるようになりますので、
アップデートの仕組みなども利用できる状態になった後にコンテナのコンフィグ設定で実行するユーザーも設定できるようにしようと考えています。
申し訳ないですが今はまだ早いです。

最初に書いたように、コンテナ内のユーザーを設定して capability を与えなければセキュリティ上では十分と考えていますが、
ひとまずはコンテナのコンフィグに「add_args --user 1000:1000」等を追加して使ってみたはいかがでしょうか?

よろしくお願いします

マルティネさん

> 最初に書いたように、コンテナ内のユーザーを設定して capability を与えなければセキュリティ上では十分と考えていますが、
> ひとまずはコンテナのコンフィグに「add_args --user 1000:1000」等を追加して使ってみたはいかがでしょうか?

ご提案いただいたこの方法はすでに設定して、そのうえでの質問でした。
背景や影響範囲等も把握できました。ご説明ありがとうございました。

佐京