使用特定用户在 LXC 容器内运行程序

使用特定用户在 LXC 容器内运行程序

我想使用特定用户在容器内运行程序。默认情况下,使用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[源:LXC.CONTAINER.CONF(5)],但是使用 lxc-execute 我没有网络连接(因为容器没有运行?)。

答案1

您必须使用以下命令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"'

相关内容