[devel] /dev/shm

Alexey Gladkov legion на altlinux.ru
Чт Авг 29 00:46:50 MSK 2019


On Wed, Aug 28, 2019 at 11:53:15PM +0300, Dmitry V. Levin wrote:
> On Wed, Aug 28, 2019 at 09:50:18PM +0200, Alexey Gladkov wrote:
> > On Wed, Aug 28, 2019 at 09:15:52PM +0300, Dmitry V. Levin wrote:
> > > Изменение по сути одно и оно точечное.
> > > 
> > > Содержимое hasher/chroot/dev будет недоступно процессам в чруте,
> > > поскольку у них будет свой /dev на tmpfs, создаваемый каждый раз
> > > при запуске этих процессов в их mount namespace и, соответственно,
> > > недоступный процессам снаружи.
> > 
> > Ну setns всё-таки есть :)
> 
> Это процессы разных пользователей, и setns не сработает с hidepid=1.

Да, но это нужно делать в хост-системе и он будет глобален для всего pid
namespace ... нужно всё-таки возродить тот патч.

> > А почему теперь /dev/shm обязателен и не отключаем ? Раньше же без него
> > обходились.
> 
> Раньше его неотключаемо создавал hasher, теперь hasher-priv.
> В принципе, его можно отключить через /etc/hasher-priv/fstab,
> написав какой-нибудь mode=755, но зачем?

Ну просто это ещё одна tmpfs. Она конечно ограничена по размеру, но
всё-таки. Я бы и /sys без нужды не давал ибо нефиг читать информацию про
хост-систему и модули.

> На тот случай, если нерадивый админ добавит /dev в allowed_mountpoints?

Вдруг он перестал принимать свои таблетки.

> > http://git.altlinux.org/tasks/236645/gears/340/git?p=git;a=blob;f=hasher-priv/mount.c;h=5b99354f6c64ba440980fe27a9f3738130a9be6e;hb=1a2f923ab0ca822de9406198ed409c79eb000ce7#l304
> > 
> > Дим, зачем ты отдельно проходишь по всему mount_vec, который заполняешь
> > чуть выше ? Разве не проще сделать:
> > 
> > --- a/hasher-priv/mount.c
> > +++ b/hasher-priv/mount.c
> > @@ -301,6 +301,8 @@ setup_mountpoints(void)
> >                                 mpoint_vec =
> >                                         xgrowarray(mpoint_vec, &mpoint_allocated,
> >                                                    sizeof(*mpoint_vec));
> > +                       if (!strcmp("/dev/pts", item))
> > +                               dev_pts_mounted = 1;
> >                         mpoint_vec[mpoint_size++] = item;
> >                 } else {
> >                         error(EXIT_FAILURE, 0,
> 
> Это же оптимизация! :)

Ты же знаешь, что в моей конторе любят всё "оптимизировать" ! :)

Мне как-то не понравились специальные кейсы про /dev, /dev/pts, /dev/shm,
но сходу не смог придумать как от них избавиться.

-- 
Rgrds, legion

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 163 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20190828/18542a02/attachment.bin>


Подробная информация о списке рассылки Devel