From: Arseny Maslennikov <arseny@altlinux.org>
To: devel@lists.altlinux.org
Subject: [devel] IA: всеобщая sysuserизация сизифа
Date: Sun, 13 Sep 2026 17:24:19 +0300
Message-ID: <aqayE528McZyvhLD@cello> (raw)
In-Reply-To: <aqaxL3b-6CWUcn0J@cello>
[-- Attachment #1: Type: text/plain, Size: 4386 bytes --]
On Sun, Sep 13, 2026 at 05:21:50PM +0300, Arseny Maslennikov wrote:
> Hi!
>
> Скоро в сизифе очутится rpm, способный сам регистрировать uid и gid в
> соответствии с директивами sysusers.d(5) в пакете, что наконец
> положит начало всеобщей sysuserизации в сизифе.
Сейчас, когда план всеобщей sysuserизации Сизифа достаточно детально ясен,
можно уже о ней говорить.
В достаточно светлом будущем я это вижу так:
* пакеты, ставящие файлы под чем-либо, кроме root, содержат
Requires: user(что-то)
либо сами предоставляют user(что-то) = <директива>; аналогично о группах;
* пакеты, содержащие m-директиву, получают зависимость на группу и
на пользователя, которых туда включают;
* нужда возиться с system ugid в скриптах вообще отпадёт;
* в пакете setup /etc/passwd и /etc/group станут %ghost, их содержимое
обернётся конфигом для sysusers.d(5), и при установке setup этот конфиг
будет применён, а passwd(5) и group(5) возникнут.
* на основании предыдущих пунктов мы принимаем поправку к PseudoUserPolicy;
* у нас появится применялка sysusers.d, зависящая от libc.so и всё. Она
облегчит footprint по кол-ву кода в малых, особенно неинтерактивных,
окружениях, и снимет все возможные вопросы о bloatware.
В обозримом настоящем мы планируем следующее:
* rpm, способный ставить sysusers-директивы в пакетах, отправляется в сизиф.
Если не найдётся причины поступить иначе, это произойдёт к ближайшей
публикации сизифа.
* Вскоре после этого в sisyphus-check мы запрещаем зависимости вида
/^Requires: (user|group|groupmember)\(.*\) [>=<].*$/
Req без версии, Prov с версией и без.
Кроме того, я б запретил упаковку в сизиф директив типа u, которые не u!;
если есть причины так не делать — мы бы хотели их выслушать.
* После этого rpm-build config снимается с ручника, и у пакетов с файлами
в %__sysusersdir после их пересборки начнут появляться провайды.
* Чтобы пакеты с такими провайдами могли не вызывать shadow-utils по старинке,
они, помимо прочего, должны ставиться в hasher. Что касается и тех, которые
hasher распаковывает как образ и потом ставит в режиме --justdb.
Это значит, что в его базовую среду, видимо, попадут sysusers-standalone, и,
вероятно, что-нибудь ещё значит.
* Когда это случится, возникнет отдельный анонс, и мы наконец-то порекомендуем
мейнтейнерам полагаться на sysusers.d(5) и убирать костыли из пакетных
скриптов.
* По мере уменьшения к-ва unmets от /^Requires: (user|group)\(.*\)$/ мы
введём sysusers.req: если в пакете есть файлы под non-root user, то
добавляем Req: user(), аналогично о группах. Скорее всего, это будет даже
не скрипт, а код в rpm-build (он будет проходить по %attr, конечно).
* Что-нибудь ещё, что я забыл.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-09-13 14:24 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-13 14:21 [devel] I: rpm with sysusers support Arseny Maslennikov
2026-09-13 14:24 ` Arseny Maslennikov [this message]
2026-09-13 14:28 ` [devel] IA: всеобщая sysuserизация сизифа Alexei Takaseev
2026-09-13 14:36 ` Arseny Maslennikov
2026-09-14 5:28 ` Anton Farygin
2026-09-14 7:22 ` Arseny Maslennikov
2026-09-14 8:31 ` [devel] " Sergey V Turchin
2026-09-14 9:16 ` [devel] " Anton Farygin
2026-09-29 18:39 ` [devel] Backport пакетов с sysusers.d в старые репозитории Arseny Maslennikov
2026-09-29 18:44 ` Anton Farygin
2026-09-29 19:18 ` Paul Wolneykien
2026-09-29 20:35 ` Arseny Maslennikov
2026-10-01 4:54 ` Anton Midyukov
2026-10-01 9:56 ` [devel] Backport поддержки %conf в пакетах Arseny Maslennikov
2026-09-30 8:45 ` [devel] Backport пакетов с sysusers.d в старые репозитории Arseny Maslennikov
2026-09-30 8:53 ` Anton Farygin
2026-09-30 9:06 ` Anton Midyukov
2026-09-30 9:07 ` Anton Farygin
2026-09-30 9:11 ` Anton Midyukov
2026-09-30 11:01 ` Alexey V. Vissarionov
2026-09-30 11:55 ` Paul Wolneykien
2026-09-13 23:12 ` [devel] IA: всеобщая sysuserизация сизифа Arseny Maslennikov
2026-09-14 6:27 ` [devel] Совместимость со старыми ветками (Was: rpm with sysusers support) Sergey V Turchin
2026-09-14 7:12 ` Arseny Maslennikov
2026-09-14 14:22 ` [devel] I: rpm with sysusers support Alexey V. Vissarionov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aqayE528McZyvhLD@cello \
--to=arseny@altlinux.org \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git