[devel] I: brp-verify-unit: "... assumes overflowugid credentials"

Arseny Maslennikov arseny на altlinux.org
Пн Фев 12 17:33:35 MSK 2024


On Mon, Feb 12, 2024 at 05:23:53PM +0300, Arseny Maslennikov wrote:
> On Mon, Feb 12, 2024 at 08:44:19AM +0300, Anton Farygin wrote:
> > Возможно, но мне хотелось бы что бы заведение системного пользователя было
> > осмысленно.

(в сторону) Чувствую, что надо это куда-то записать.

Замечаю, к сожалению, что в некоторых умах сложился нездоровый взгляд
на т. н. заведение системных пользователей:
* кажется, будто это сложное, мучительное дело (руками — да);
* кажется, будто ему нужно выделить и сопровождать какие-то ресурсы,
  вроде домашнего каталога, шелла, квот, gecos; будто от него будут
  порождаться какие-то сеансы с участием pam и logind; будто всё это —
  хрупкий стейт, захламляющий не только систему, но и голову
  администратора;
* этот стейт потом сложно удалить — а вдруг в ФС остались данные с этими
  uid и gid?

А на самом деле вопрос сводится к тому, чтобы называть вещи подходящими
именами. Здесь речи о _заведении пользователей_ нет, потому что нету
никаких пользователей и большинство соотв. типов ресурсов им не
требуется. Если эту процедуру назвать "резервирование UID и GID", сразу
весь ментальный морок спадает. "...С целью разделения привилегий". Этим
системным "пользователям" и имя-то не нужно, их имя выступает лишь
симлинком на выделенный по месту на машине численный ID, вносит
дополнительный удобный уровень косвенности. Понятия "сеанс",
"пароль/токен аутентификации", "домашний каталог", "начальный шелл" для
них, понятное дело, тем более не имеют смысла.

Институт sysusers вообще упрощает это дело чуть ли не до максимума: в
пакет со службой достаточно упаковать файл-конфиг. Но пока что нам не
судьба.

Останется лишь соображение о возможности потери стейта от удаления
записей о резервировании, но и эту проблему можно побороть, исключив
доступ сервису на запись во все места, кроме белого списка, и сделать
это решение общедистрибутивным. (Если бы в /etc/passwd можно было
записать строчку навроде "deleted uid N", это была бы половина решения)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20240212/e048b74a/attachment.bin>


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