* [Comm] непривелегированный контейнер lxc - как создать и запустить?
@ 2016-09-24 19:51 Alexander
2016-09-24 23:42 ` Dmitry V. Levin
2016-09-30 10:41 ` Alexander
0 siblings, 2 replies; 11+ messages in thread
From: Alexander @ 2016-09-24 19:51 UTC (permalink / raw)
To: ALT Linux Community general discussions
Доброй ночи!
Пытаюсь запустить непривилегированный lxc-контейнер (root контейнера -
обычный пользователь хоста).
Руководствовался вот этой статьей -
http://programming086.blogspot.ru/2014/01/lxc-1-0-unprivileged-containers.html
Под-диапазоны пользователю добавил:
$ cat /etc/subuid
user:100000:50001
$ cat /etc/subuid
user:100000:50001
В конфигурации lxc их указал:
user@localhost ~ $ cat /home/user/.config/lxc/default.conf
lxc.include = /etc/lxc/default.conf
lxc.id_map = u 0 100000 50001
lxc.id_map = g 0 100000 50001
При попытке создать контейнер или просто получить список доступных
вариантов для загрузки получаю ошибку:
user@localhost ~ $ lxc-create -t download -n alt2 -- -l
unshare: Operation not permitted
read pipe: Permission denied
lxc-create: lxccontainer.c: do_create_container_dir: 978 Failed to chown
container dir
lxc-create: tools/lxc_create.c: main: 318 Error creating container alt2
Что я делаю не так?
Это актуальный обновленный P8 х64, (свеже-установленный осенний стартеркит).
Попробовал все тоже самое под ubuntu.
там контейнер такая последовательность действий успешно создает...
--
С уважением, Александр
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-09-24 19:51 [Comm] непривелегированный контейнер lxc - как создать и запустить? Alexander
@ 2016-09-24 23:42 ` Dmitry V. Levin
2016-09-25 6:29 ` Alexander
2016-09-30 10:41 ` Alexander
1 sibling, 1 reply; 11+ messages in thread
From: Dmitry V. Levin @ 2016-09-24 23:42 UTC (permalink / raw)
To: ALT Linux Community general discussions
[-- Attachment #1: Type: text/plain, Size: 395 bytes --]
Hi,
On Sat, Sep 24, 2016 at 10:51:47PM +0300, Alexander wrote:
> Доброй ночи!
>
> Пытаюсь запустить непривилегированный
> lxc-контейнер (root контейнера - обычный
> пользователь хоста).
По умолчанию это не разрешено. Параметр ядра, который этим управляет,
называется /proc/sys/kernel/userns_restrict; при необходимости ослабить
ограничение вы можете это сделать.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-09-24 23:42 ` Dmitry V. Levin
@ 2016-09-25 6:29 ` Alexander
2016-09-25 21:13 ` Mikhail Efremov
0 siblings, 1 reply; 11+ messages in thread
From: Alexander @ 2016-09-25 6:29 UTC (permalink / raw)
To: ALT Linux Community general discussions
25.09.2016 02:42, Dmitry V. Levin пишет:
> Hi,
>
> On Sat, Sep 24, 2016 at 10:51:47PM +0300, Alexander wrote:
>> Доброй ночи!
>>
>> Пытаюсь запустить непривилегированный
>> lxc-контейнер (root контейнера - обычный
>> пользователь хоста).
>
> По умолчанию это не разрешено. Параметр ядра, который этим управляет,
> называется /proc/sys/kernel/userns_restrict; при необходимости ослабить
> ограничение вы можете это сделать.
>
Спасибо. С той ошибкой помогло. Но теперь появилась другая ошибка:
$ lxc-create -t download -n p1 -- -l
newuidmap: write to uid_map failed: Operation not permitted
error mapping child
setgid: Invalid argument
Подскажите пожалуйста что и где еще нужно разрешить?
--
С уважением, Александр
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-09-25 6:29 ` Alexander
@ 2016-09-25 21:13 ` Mikhail Efremov
2016-09-26 6:29 ` Alexander
2016-10-07 20:14 ` Alexander
0 siblings, 2 replies; 11+ messages in thread
From: Mikhail Efremov @ 2016-09-25 21:13 UTC (permalink / raw)
To: ALT Linux Community general discussions
On Sun, 25 Sep 2016 09:29:36 +0300 Alexander wrote:
> 25.09.2016 02:42, Dmitry V. Levin пишет:
> > Hi,
> >
> > On Sat, Sep 24, 2016 at 10:51:47PM +0300, Alexander wrote:
> >> Доброй ночи!
> >>
> >> Пытаюсь запустить непривилегированный
> >> lxc-контейнер (root контейнера - обычный
> >> пользователь хоста).
> >
> > По умолчанию это не разрешено. Параметр ядра, который этим
> > управляет, называется /proc/sys/kernel/userns_restrict; при
> > необходимости ослабить ограничение вы можете это сделать.
> >
> Спасибо. С той ошибкой помогло. Но теперь появилась другая ошибка:
> $ lxc-create -t download -n p1 -- -l
> newuidmap: write to uid_map failed: Operation not permitted
> error mapping child
> setgid: Invalid argument
>
> Подскажите пожалуйста что и где еще нужно разрешить?
Подозреваю, что lxc-create хочет suid'ный newuidmap. У нас же все эти
утилиты не suid'ные. Наверно нужно добавить соответствующий control в
пакет. Причем мне помнится, что где-то в этих утилитах была уязвимость
в случае их suid'ности.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-09-25 21:13 ` Mikhail Efremov
@ 2016-09-26 6:29 ` Alexander
2016-10-07 20:14 ` Alexander
1 sibling, 0 replies; 11+ messages in thread
From: Alexander @ 2016-09-26 6:29 UTC (permalink / raw)
To: ALT Linux Community general discussions
26.09.2016 00:13, Mikhail Efremov пишет:
> On Sun, 25 Sep 2016 09:29:36 +0300 Alexander wrote:
>> 25.09.2016 02:42, Dmitry V. Levin пишет:
>>> Hi,
>>>
>>> On Sat, Sep 24, 2016 at 10:51:47PM +0300, Alexander wrote:
>>>> Доброй ночи!
>>>>
>>>> Пытаюсь запустить непривилегированный
>>>> lxc-контейнер (root контейнера - обычный
>>>> пользователь хоста).
>>> .....
>>> По умолчанию это не разрешено.
>> setgid: Invalid argument
>> .....
>> Подскажите пожалуйста что и где еще нужно разрешить?
> ......
> Подозреваю, что lxc-create хочет suid'ный newuidmap. У нас же все эти
> утилиты не suid'ные. Наверно нужно добавить соответствующий control в
> пакет. Причем мне помнится, что где-то в этих утилитах была уязвимость
> в случае их suid'ности.
>
Да, похоже так и есть - в ubuntu утилита с suid битом, у нас - без
него. После установки suid бита на эти утилиты это место удалось
проскочить.
Теперь ругается так:
$ lxc-create -t download -n p1 -- -l
mktemp: не удалось создать каталог по шаблону
«/tmp/.private/user/tmp.XXXXXXXXXX»: Отказано в доступе
Хотя вот так проходит вполне себе успешно:
$ mktemp -d
/tmp/.private/user/tmp.CCqmQm9Iz5
Похоже, что непривилегированные lxc-контейнеры у нас никто не запускал
и не настраивал?
Вроде же везде пишут что они более безопасные чем привилегированные? Или
нет?
--
С уважением, Александр
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-09-24 19:51 [Comm] непривелегированный контейнер lxc - как создать и запустить? Alexander
2016-09-24 23:42 ` Dmitry V. Levin
@ 2016-09-30 10:41 ` Alexander
1 sibling, 0 replies; 11+ messages in thread
From: Alexander @ 2016-09-30 10:41 UTC (permalink / raw)
To: ALT Linux Community general discussions
24.09.2016 22:51, Alexander пишет:
> Доброй ночи!
>
> Пытаюсь запустить непривилегированный lxc-контейнер (root контейнера -
> обычный пользователь хоста).
> Руководствовался вот этой статьей -
--
Создать контейнер удалось. Но при попытке запустить контейнер ругается:
lxc-start -n u2 --logfile=u21.log
lxc-start: tools/lxc_start.c: main: 344 The container failed to start.
lxc-start: tools/lxc_start.c: main: 346 To get more details, run the
container in foreground mode.
lxc-start: tools/lxc_start.c: main: 348 Additional information can be
obtained by setting the --logfile and --logpriority options.
bash-3.2$ cat u21.log
lxc-start 20160930132944.079 ERROR lxc_cgfs -
cgroups/cgfs.c:lxc_cgroupfs_create:897 - Could not set clone_children to
1 for cpuset hierarchy in parent cgroup.
lxc-start 20160930132944.079 ERROR lxc_cgfs -
cgroups/cgfs.c:cgroup_rmdir:209 - Read-only file system - cgroup_rmdir:
failed to delete /sys/fs/cgroup/hugetlb/
С уважением, Александр
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-09-25 21:13 ` Mikhail Efremov
2016-09-26 6:29 ` Alexander
@ 2016-10-07 20:14 ` Alexander
2016-10-07 20:38 ` Anton Gorlov
2016-10-07 23:19 ` Mikhail Efremov
1 sibling, 2 replies; 11+ messages in thread
From: Alexander @ 2016-10-07 20:14 UTC (permalink / raw)
To: community
26.09.2016 00:13, Mikhail Efremov пишет:
> Подозреваю, что lxc-create хочет suid'ный newuidmap. У нас же все эти
> утилиты не suid'ные. Наверно нужно добавить соответствующий control в
> пакет. Причем мне помнится, что где-то в этих утилитах была уязвимость
> в случае их suid'ности.
>
А не помните что там за уязвимости были?
Пользовательский контейнер запустил,но хотелось бы понять чем рискую в
случае suid-ного newuidmap.
--
С уважением, Александр
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-10-07 20:14 ` Alexander
@ 2016-10-07 20:38 ` Anton Gorlov
2016-10-07 21:22 ` Alexander
2016-10-07 23:19 ` Mikhail Efremov
1 sibling, 1 reply; 11+ messages in thread
From: Anton Gorlov @ 2016-10-07 20:38 UTC (permalink / raw)
To: ALT Linux Community general discussions
07.10.2016 23:14, Alexander пишет:
> А не помните что там за уязвимости были?
> Пользовательский контейнер запустил,но хотелось бы понять чем рискую в
> случае suid-ного newuidmap.
А как именно запустили поделитесь секретом
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-10-07 20:38 ` Anton Gorlov
@ 2016-10-07 21:22 ` Alexander
0 siblings, 0 replies; 11+ messages in thread
From: Alexander @ 2016-10-07 21:22 UTC (permalink / raw)
To: ALT Linux Community general discussions
07.10.2016 23:38, Anton Gorlov пишет:
> А как именно запустили поделитесь секретом
> _______________________________________________
> community mailing list
> community@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community
>
Процесс был несколько растянут во времени, поэтому не уверен что сейчас
вспомню все сразу. Я думаю на днях повторить процесс на чистой системе и
после того напишу подробную шпаргалку на форуме.
1.За основу берем вот эту инструкцию:
https://programming086.blogspot.ru/2014/01/lxc-1-0-unprivileged-containers.html
2.в параметрах ядра /proc/sys/kernel/userns_restrict ставим в 0
3.делаем suid-ными newuidmap и newgidmap. Если их в системе нет, то
ставим пакет shadow-submap.
4.устанавливаем пакет cgmanager и стартуем его сервис.
5.не забываем также стартовать сервис lxc-net - он по умолчанию отключен.
6.вот эта последовательность действий найдена где-то на просторах инета
(без нее ЕМНИП контейнер создается но отказывается стартовать):
sudo service cgmanager start
sudo cgm create all $USER
sudo cgm chown all $USER $(id -u $USER) $(id -g $USER)
sudo cgm movepid all $USER $$
7.после всего этого (если я ничего не забыл), контейнер должен успешно
создаваться командами типа:
lxc-create -t download -n p1 -- -d ubuntu -r trusty -a amd64
и стартовать по
lxc-start -n p1
если вылезет при создании контейнера что-то подобное: mktemp: не удалось
создать каталог по шаблону «/tmp/.private/user/tmp.XXXXXXXXXX» - значит
ошиблись где-то в subuid-х
Как-тот так...
--
С уважением, Александр
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-10-07 20:14 ` Alexander
2016-10-07 20:38 ` Anton Gorlov
@ 2016-10-07 23:19 ` Mikhail Efremov
2017-03-07 19:30 ` Mikhail Efremov
1 sibling, 1 reply; 11+ messages in thread
From: Mikhail Efremov @ 2016-10-07 23:19 UTC (permalink / raw)
To: ALT Linux Community general discussions
On Fri, 7 Oct 2016 23:14:34 +0300 Alexander wrote:
> 26.09.2016 00:13, Mikhail Efremov пишет:
> > Подозреваю, что lxc-create хочет suid'ный newuidmap. У нас же все
> > эти утилиты не suid'ные. Наверно нужно добавить соответствующий
> > control в пакет. Причем мне помнится, что где-то в этих утилитах
> > была уязвимость в случае их suid'ности.
> >
> А не помните что там за уязвимости были?
> Пользовательский контейнер запустил,но хотелось бы понять чем рискую
> в случае suid-ного newuidmap.
https://github.com/shadow-maint/shadow/issues/28
Я уже не помню детали, было некоторое обсуждение в oss-security.
В ближайшее время постараюсь все это вспомнить и приложить у нас патчи.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Comm] непривелегированный контейнер lxc - как создать и запустить?
2016-10-07 23:19 ` Mikhail Efremov
@ 2017-03-07 19:30 ` Mikhail Efremov
0 siblings, 0 replies; 11+ messages in thread
From: Mikhail Efremov @ 2017-03-07 19:30 UTC (permalink / raw)
To: ALT Linux Community general discussions
On Sat, 8 Oct 2016 02:19:44 +0300 Mikhail Efremov wrote:
> On Fri, 7 Oct 2016 23:14:34 +0300 Alexander wrote:
> > 26.09.2016 00:13, Mikhail Efremov пишет:
> > > Подозреваю, что lxc-create хочет suid'ный newuidmap. У нас же все
> > > эти утилиты не suid'ные. Наверно нужно добавить соответствующий
> > > control в пакет. Причем мне помнится, что где-то в этих утилитах
> > > была уязвимость в случае их suid'ности.
> > >
> > А не помните что там за уязвимости были?
> > Пользовательский контейнер запустил,но хотелось бы понять чем рискую
> > в случае suid-ного newuidmap.
>
> https://github.com/shadow-maint/shadow/issues/28
> Я уже не помню детали, было некоторое обсуждение в oss-security.
> В ближайшее время постараюсь все это вспомнить и приложить у нас
> патчи.
Ближайшее время наступило, в Сизифе уже, в p8 - пока test-only таск
#179286.
Теперь для newuidmap/newgidmap есть соответствующие control'ы.
--
WBR, Mikhail Efremov
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2017-03-07 19:30 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-24 19:51 [Comm] непривелегированный контейнер lxc - как создать и запустить? Alexander
2016-09-24 23:42 ` Dmitry V. Levin
2016-09-25 6:29 ` Alexander
2016-09-25 21:13 ` Mikhail Efremov
2016-09-26 6:29 ` Alexander
2016-10-07 20:14 ` Alexander
2016-10-07 20:38 ` Anton Gorlov
2016-10-07 21:22 ` Alexander
2016-10-07 23:19 ` Mikhail Efremov
2017-03-07 19:30 ` Mikhail Efremov
2016-09-30 10:41 ` Alexander
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git