Lxc

使用特定使用者在 LXC 容器內執行程序

  • March 20, 2017

我想在具有特定使用者的容器內執行程序。預設情況下,使用 lxc-attach 時,使用者是 root,但我不想以 root 身份執行程序。

我要執行的命令:

lxc-attach -n container -- python3 some_program.py

當附加到容器時,我希望使用者是 uid=1000 而不是 uid=0 (root)

我知道使用 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"'

引用自:https://unix.stackexchange.com/questions/352620