[devel] UserGroupPolicy ?
Anton Farygin
rider на basealt.ru
Пн Ноя 20 12:20:13 MSK 2023
On 20.11.2023 11:49, Arseny Maslennikov wrote:
> On Thu, Nov 16, 2023 at 08:39:13AM +0300, Anton Farygin wrote:
>> On 15.11.2023 20:52, Arseny Maslennikov wrote:
>>> On Wed, Nov 15, 2023 at 08:48:00PM +0300, Arseny Maslennikov wrote:
>>>> часть её протокола взаимодействия с кем-то, то лучше завести отдельную,
>>>> _kdesu какое-нибудь.
>>> У нас же правило о том, что имена системных усеров и групп, добавляемых
>>> пакетами, должны начинаться с _, утверждено как обязательное, надеюсь?
>>>
>>> Так себе и представляю живого пользователя-анимешника с никнеймом K-desu. :]
>> Не видел такого правила.
>>
>> Это, кстати, было бы отлично привести в порядок.
> И заодно разобраться с подразумеваемым смыслом всяких волшебных групп вроде wheel.
> Ничего, впрочем, не мешает сначала утвердить nobody, а далее, если появится
> пропозал, включить содержимое NobodySubjectPolicy целиком или частично туда.
Да, против Nobody ничего не имею.
>
>> Есть ещё одна проблема - иногда так случается, что системные сервисы на
>> разных узлах должны работать под одним UID/GID
> Это чтобы потакать криворукому софту, или ради общих R/W ФС на кластер?
Общие R/W ФС на кластер, сохранение/восстановление из бэкапа,
копирование данных из одного сервера в другой через rsync.
Сценариев точно больше одного. Кривой софт тоже встречается, но гораздо
реже.
>
>> Сейчас у нас нет внятного механизма заведения таких системных пользователей.
>>
>> А у пакета setup очень консервативные ментейнеры.
>>
>> Было бы неплохо придумать какую-то схему по выделению/резервированию UID/GID
>> для системных служб.
> Я не уверен, что это реально нужно и стоит делать в репозитории.
> Наверное, будет удобно и достаточно стащить у системдоидов программу
> sysusers[1], превратив её в самостоятельную.
>
> Далее — завести пакет static-ugids-setup, где вести реестр таких уидов в
> виде отдельных файликов-записей. Внутри одного пакета будет легче
> следить за непересечениями, чем между разными пакетами. Пакет без явного
> мейнтейнера (@everybody), но с проверкой.
> Но тогда непонятно, из какого диапазона можно безопасно выделять уиды
> так, чтобы они не были заняты в существующих системах, и хватит ли этих
> уидов всем таким капризным службам в репозитории.
> Директива DynamicUser= в systemd себе прихватила некоторый отрезок после
> [UG]ID_MAX-настройки в /etc/login.defs.
>
> [1] man 5 sysusers.d
Да, вопросов возникает тоже много. Ответы на них надо прорабатывать, а
sysusers выглядит интересной идеей для реализации политики управления
системными пользователями.
Контроль за соблюдением в пакетах можно переложить на sisyphus_check,
например.
Подробная информация о списке рассылки Devel