我想使用特定用户在容器内运行程序。默认情况下,使用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"'