特定のユーザーがいるコンテナー内でプログラムを実行したい。デフォルトでは、lxc-attachを使用する場合、ユーザーはrootですが、プログラムをrootとして実行したくありません。
実行したいコマンド:
lxc-attach -n container -- python3 some_program.py
コンテナに接続するとき、ユーザーをuid = 0(root)ではなくuid = 1000にします。
Lxc-execute、lxc.init_uid、lxc.init_gid [src:LXC.CONTAINER.CONF(5)] で可能ですが、lxc-executeではネットワーク接続がありません(コンテナが実行されていないためですか?).
ユーザーを変更するには、su
を使用する必要があります。
$ Sudo lxc-attach -n test -- su ubuntu -c 'whoami'
ubuntu
コマンドは次のようになります(ユーザー名がわからない場合)。
lxc-attach -n container -- 'su $(getent passwd 1000| cut -f1 -d:) -c "python3 some_program.py"'