[devel] /dev/shm

Dmitry V. Levin ldv на altlinux.org
Ср Авг 28 23:53:15 MSK 2019


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.

> > > Я не специалист в hasher-priv :)
> > 
> > Тогда я тоже. :)
> 
> А почему теперь /dev/shm обязателен и не отключаем ? Раньше же без него
> обходились.

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

> http://git.altlinux.org/tasks/236645/gears/340/git?p=git;a=blob;f=hasher-priv/mount.c;h=5b99354f6c64ba440980fe27a9f3738130a9be6e;hb=1a2f923ab0ca822de9406198ed409c79eb000ce7#l284
> 
> В requested_mountpoints ты проверяешь и игнорируешь /dev/shm, но не сам
> /dev. Хотя даже комментарий намекает :)

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

> 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,

Это же оптимизация! :)


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


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