web-dev-qa-db-ja.com

特定のユーザーがいるLXCコンテナー内でプログラムを実行する

特定のユーザーがいるコンテナー内でプログラムを実行したい。デフォルトでは、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ではネットワーク接続がありません(コンテナが実行されていないためですか?).

1
woop

ユーザーを変更するには、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"'
2
ctx