Eu gostaria de criar & inicie o contêiner LXC para UID específico & GID para o propósito abaixo.
Entre para o usuário root (sudo user), faça lxc-create de container, então faça lxc-start do container com o mesmo id de usuário root. enquanto olhando container eu preciso iniciar todo o processo dentro do container com id de usuário de privilégio baixo (un-priv) no qual o acesso ao usuário é restrito a container e não ao host.basically quando digo ps -axu, eu deveria ser capaz de ver o ID do usuário de baixo privilégio para todo o processo do contêiner.
PS: meu host que é VM com o Ubuntu 16.04 LTS é o sistema init systemd e meu contêiner (tipo busybox) será iniciado com os serviços systemd. para isso eu modifiquei o template do busybox como abaixo
Código:
lxc.init_cmd=/lib/systemd/systemd
e também removeu todos os rcS & scripts relacionados ao inittab no modelo padrão do busybox
e para o mapa de identificação do usuário, mudei como abaixo no meu modelo
Código:
lxc.id_map=u 0 165536 65536
lxc.id_map=g 0 165536 65536
depois disso eu apenas segui os passos abaixo
Contêiner criado normalmente com abaixo de comenda (e eu cruzei o arquivo de configuração verificado em / var / lib / lxc / testecho_uid / config para ter certeza de que todas as alterações no meu modelo são refletidas ou não, ok)
Código:
sudo lxc-create -n testecho_uid -t busybox_systemd_uid
Inserido abaixo do comando para iniciar o contêiner com o primeiro plano
Código:
sudo lxc-start -n testecho_uid -F
O erro é:
vijay@vijay-VirtualBox:~$ sudo lxc-start -n testecho_uid -F
lxc-start: cgfsng.c: cgfsng_create: 1072 No such file or directory - Failed to create /sys/fs/cgroup/systemd//lxc/testecho_uid: No such file or directory
lxc-start: cgfsng.c: cgfsng_create: 1072 No such file or directory - Failed to create /sys/fs/cgroup/systemd//lxc/testecho_uid-1: No such file or directory
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: start.c: lxc_spawn: 1161 failed to set up id mapping
lxc-start: start.c: __lxc_start: 1353 failed to spawn 'testecho_uid'
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/systemd//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/perf_event//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/hugetlb//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/cpu//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/memory//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/pids//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/blkio//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/cpuset//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/net_cls//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/devices//lxc/testecho_uid-2
newuidmap: uid range [0-65536) -> [165536-231072) not allowed
lxc-start: conf.c: userns_exec_1: 4315 Error setting up child mappings
lxc-start: cgfsng.c: recursive_destroy: 983 Error destroying /sys/fs/cgroup/freezer//lxc/testecho_uid-2
lxc-start: lxc_start.c: main: 344 The container failed to start.
lxc-start: lxc_start.c: main: 348 Additional information can be obtained by setting the --logfile and --logpriority options.
Alguém pode me dizer se estou sentindo falta de alguma coisa aqui?
abaixo estão minhas configurações do ubuntu 16.04 para uid & gid
Código:
vijay@vijay-VirtualBox:~$ sudo cat /etc/subgid
vijay:100000:65536
usrlxc:165536:65536
vijay:165536:65537
Código:
vijay@vijay-VirtualBox:~$ sudo cat /etc/subuid
vijay:100000:65536
usrlxc:165536:65536
vijay:165536:65537
se acima da minha pergunta não estiver clara, por favor veja abaixo mais uma pergunta semelhante ao mesmo cenário.
Existe uma maneira de acessar (lxc start & attach) contêiner sem privilégios do usuário root ou do usuário sudo.
Ou seja, eu criei, iniciei e conectei o contêiner un-priv usando o usuário lxc (não o usuário sudo / usuário root) pelo login no usuário lxc sem qualquer problema. Agora eu gostaria de começar & Anexe o contêiner un-priv criado pelo usuário lxc do usuário root ou do usuário sudo.
Isso é possível? se sim por favor deixe-me saber como fazer isso?
Eu verifiquei o lxc-ls do usuário sudo / root e ele listou apenas os contêineres criados pelo usuário sudo e não exibe o contêiner criado pelo usuário lxc.
ou
Todos os processos / threads do container Privilege podem ser executados / executados para um UID específico (por exemplo: usuário lxc) pelo usuário root / sudo ao fazer o lxc-start ou por qualquer meio?
Eu também tentei dar abaixo lxc user uid & gid in config (mudando o template do busybox). deu acima erro de comentário.
Código:
lxc.id_map = u 0 165536 65536
lxc.id_map = g 0 165536 65536
Eu tentei de todas as formas possíveis, mas sem sorte, por favor me eduque este tópico.
Abaixo estão os detalhes do usuário no meu desktop ubuntu
usuário lxc - > "usrlxc" que eu criei como parte da experiência de criação de contêiner un-priv.
Usuário Sudo - > "vijay" - este é um usuário sudo no meu Ubuntu 16.04 Virtual box machine.
usuário root - > # que todos vocês sabem
Por favor, deixe-me saber se alguma informação da minha configuração do Ubuntu ou lxc config