[devel] NobodySubjectPolicy implementation

arseny на altlinux.org arseny на altlinux.org
Вт Дек 19 21:13:07 MSK 2023


On Wed, Nov 15, 2023 at 04:00:56PM +0300, Arseny Maslennikov wrote:
> Hi!
> <...> 
> === Предложение ===
> 
> Вношу следующее предложение:
> - Сменить пользователю и группе nobody численный идентификатор с 99 на
>   65534. Для обозначения 99-го оставить другое имя, например, _nobody99;
> - Передать /var/nobody этому самому _nobody99;

Оказалось проще удалить этот каталог совсем; он не должен быть никому
нужен.

То, что получилось, можно наблюдать в задании:
https://git.altlinux.org/tasks/330460/

Есть пока и препятствия, о которых ниже.

> Для пакетов в Sisyphus:
> <...>
> - Рекомендовать мейнтейнерам не допускать, чтобы собираемые ими
>   системные службы исполняли код под nobody;
> - Рекомендовать администраторам не запускать процессы под юзером и группой
>   nobody.
За этим должен был следить brp-модуль при сборке пакета, который бы
запрещал класть в пакет systemd-юниты, указывающие nobody в User=,
Group=, SupplementaryGroups=. Но rpm-build перестаёт проходить проверки
из rpminstall-tests со следующей чудесной диагностикой[1]:

    rpm --dbpath '/tmp/sh.Hh8cuteY/sh.DakRlnyW' --justdb -i RPMS/dummy/noarch/dummy-1-alt1.noarch.rpm
    error: Couldn't create temporary file for posttrans filetriggers: Success

При этом создать под dbpath файлы для базы у него получается. Снаружи
fakeroot-окружения все эти временные каталоги имеют uid и gid rooter,
конечно.
[1] https://git.altlinux.org/tasks/336802/logs/events.1.1.log

> === Footprint ===
> <...>
>   checkinstall-helper-sh-safely	imz @everybody

Если в используемом выше /usr/sbin/sh-safely из этого пакета,
сбрасывающем привилегии до nobody, изменить это имя на _nobody99, то
симптом всё ещё воспроизводится, а если убрать "--chuid nobody:nobody",
то перестаёт.

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


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