LINUX.ORG.RU
ФорумAdmin

Как запустить контейнер в непривилегированном режиме?

 


1

1

Прочитал статью, испугался и хочу запустить от рута непривилегированный контейнер, как описано тут:
https://linuxcontainers.org/lxc/getting-started/#creating-unprivileged-contai...
Контейнер у меня уже есть, как привилегированный он запускается.

Я добавил файлы:
# cat /etc/subuid
root:1000000:65536
# cat /etc/subgid
root:1000000:65536
и строчки
# grep id /var/lib/lxc/guestos/config
lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536

сообщение об ошибке такое:
«newuidmap: uid range [0-65536) -> [100000-165536) not allowed»

# zgrep CONFIG_USER_NS /proc/config.gz
CONFIG_USER_NS=y

нашел багу:
https://bugs.gentoo.org/615298

выполнил команды
chmod 4755 /usr/bin/newuidmap
chmod 4755 /usr/bin/newgidmap

но ничего не поменялось.

journalctl -u lxc@guestos.service
после перезагрузки хоста пишет такое:

jan 20 02:08:12 hostos systemd[1]: Started Linux Container guestos.
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: conf.c: lxc_map_ids: 2999 newuidmap failed to write mapping "newuidmap: uid range [0-65536) -> [100000-165536) not allowed": newuidmap 6932 0 100000 65536
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: start.c: lxc_spawn: 1708 Failed to set up id mapping.
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: start.c: __lxc_start: 1939 Failed to spawn container "guestos"
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: conf.c: lxc_map_ids: 2999 newuidmap failed to write mapping "newuidmap: uid range [0-65536) -> [100000-165536) not allowed": newuidmap 6949 0 100000 65536 6>
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: conf.c: userns_exec_1: 4352 Error setting up {g,u}id mappings for child process "6949"
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: tools/lxc_start.c: main: 330 The container failed to start
jan 20 02:08:12 hostos lxc-start[6926]: lxc-start: guestos: tools/lxc_start.c: main: 336 Additional information can be obtained by setting the --logfile and --logpriority options
jan 20 02:08:12 hostos systemd[1]: lxc@guestos.service: Main process exited, code=exited, status=1/FAILURE
jan 20 02:08:12 hostos systemd[1]: lxc@guestos.service: Failed with result 'exit-code'.

Вопросы:
1) почему не работает?
2) что сделать, чтобы заработало?

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 7)

я хоть и мимокрокодил, но с чего бы это вообще должно работать? Надо же поднять значение uid. по дефолту 65536 же, о чем тебе newuidmap и отрапортовал

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

«Надо же поднять значение uid»

Мне не ясно, что значит «поднять». Какие конкретно команды мне нужно вбить в терминал?

Einstok_Fair ★★☆
() автор топика

В числах

1000000

100000

разное количество ноликов. В этом ошибка.

Теперь другая:

dir_mount: 198 Permission denied - Failed to mount «/var/lib/lxc/guestos/rootfs» on «/var/lib/lxc/rootfs»

jan 20 03:39:41 hostos lxc-start[5329]: lxc-start: guestos: conf.c: lxc_setup_rootfs_prepare_root: 3445 Failed to setup rootfs for

jan 20 03:39:41 hostos lxc-start[5329]: lxc-start: guestos: conf.c: lxc_setup: 3498 Failed to setup rootfs

jan 20 03:39:41 hostos lxc-start[5329]: lxc-start: guestos: start.c: do_start: 1263 Failed to setup container «guestos»

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 4)
Ответ на: комментарий от Einstok_Fair

проставил chmod +x на директории, как описано тут:
https://discuss.linuxcontainers.org/t/troubles-with-unprivileged-user/572/4

Теперь новая ошибка:
lxc-start: guestos: cgroups/cgfsng.c: cg_legacy_set_data: 2191 Failed to setup limits for the «devices» controller. The controller seems to be unused by «cgfsng» cgroup driver or n>
lxc-start: guestos: start.c: lxc_spawn: 1802 Failed to setup legacy device cgroup controller limits

здесь:
https://github.com/lxc/lxc/issues/2268
нашел предложение примонтировать «devices cgroup», но как это сделать «по-правильному» не понял. Например, что надо сделать, чтобы оно само монтировалось?

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.