Execução de um programa dentro de um contêiner LXC com um usuário específico

1

Eu quero executar um programa dentro de um contêiner com um usuário específico. Por padrão, ao usar lxc-attach, o usuário é root, mas não quero executar o programa como root.

Comando que quero executar:

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

Quando anexado ao container, eu quero que o usuário seja uid = 1000 não uid = 0 (root)

Eu sei que é possível com lxc-execute, com lxc.init_uid e lxc.init_gid [src: LXC.CONTAINER.CONF (5)] , mas com lxc-execute eu não tenho conexão de rede (porque o container não está rodando?).

    
por woop 20.03.2017 / 16:03

1 resposta

2

Você precisa usar su para alterar o usuário:

$ sudo lxc-attach -n test -- su ubuntu -c 'whoami'
ubuntu

Seu comando ficaria assim (se você não souber o nome de usuário):

lxc-attach -n container -- 'su $(getent passwd 1000| cut -f1 -d:) -c "python3 some_program.py"'
    
por 20.03.2017 / 16:24

Tags