Bug 38788 - Цепочка зависимостей, ведущая от freeipa-client к selinux-policy-alt
Summary: Цепочка зависимостей, ведущая от freeipa-client к selinux-policy-alt
Status: CLOSED FIXED
Alias: None
Product: Branch p9
Classification: Distributions
Component: policycoreutils (show other bugs)
Version: не указана
Hardware: all Linux
: P5 blocker
Assignee: Stanislav Levin
QA Contact: qa-p9@altlinux.org
URL:
Keywords:
Depends on: 38992
Blocks:
  Show dependency tree
 
Reported: 2020-08-06 11:43 MSK by Anton V. Boyarshinov
Modified: 2021-04-26 04:49 MSK (History)
11 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton V. Boyarshinov 2020-08-06 11:43:08 MSK
freeipa-client зависит от policycoreutils
policycoreutils зависит от /etc/selinux/config
/etc/selinux/config предоставляется selinux-policy-alt
selinux-policy-alt вытягивет policycoreutils-newrole и ещё кучу всего, что не должно присутствовать в нормальной системе и нормально не работает без дополнительной настройки.

Каждая из этих зависимостей логична и не страшна сама по себе, но
вместе они дают неприемлемый эффект.

Мне кажется наиболее простым и разумным оторвать зависимость
policycoreutils от 
/etc/selinux/config, но надо тестировать -- не сломается ли freeipa-client даже при работе без selinux.
Comment 1 Ivan A. Melnikov 2020-08-06 11:55:40 MSK
Есть впечатление, что freeipa-client не нуждается в policycoreutils, если selinux не включен. Это впечатление появилось потому что из всех policycoreutils в freeipa можно нагрепать только restorecon и setsebool, и они не используются если selinux выключен.
Comment 2 Aleksei Nikiforov 2020-08-06 11:57:54 MSK
Повторю то, что написал в рассылку, но пока что туда не дошло:

> Я покопал глубже и мне открылась бездна
>
> policycoreutils зависит от /etc/selinux/config

В Sisyphus уже несколько месяцев как эта зависимость оторвана.

Добавлю: для этого достаточно отправить policycoreutils-3.0-alt2 в p9.
Comment 3 Anton V. Boyarshinov 2020-08-06 12:02:59 MSK
> > policycoreutils зависит от /etc/selinux/config
> 
> В Sisyphus уже несколько месяцев как эта зависимость оторвана.
> 
> Добавлю: для этого достаточно отправить policycoreutils-3.0-alt2 в p9.

А.. А.. А почему это полезное изменение не попало в p9?
Comment 4 Anton Farygin 2020-08-06 12:05:37 MSK
надо у freeipa загасить зависимость на policycoreutils (сделать её неявной).
После этого проблема будет решена.

А в Sisyphus policycoreutils уже не зависит от политики.
Comment 5 Anton Farygin 2020-08-06 12:06:13 MSK
(Ответ для Anton V. Boyarshinov на комментарий #3)
> > > policycoreutils зависит от /etc/selinux/config
> > 
> > В Sisyphus уже несколько месяцев как эта зависимость оторвана.
> > 
> > Добавлю: для этого достаточно отправить policycoreutils-3.0-alt2 в p9.
> 
> А.. А.. А почему это полезное изменение не попало в p9?

Потому что p9 ещё не готов для приёма нового selinux. Не надо с этим спешить.
Comment 6 Anton V. Boyarshinov 2020-08-06 12:08:10 MSK
> > > Добавлю: для этого достаточно отправить policycoreutils-3.0-alt2 в p9.
> > 
> > А.. А.. А почему это полезное изменение не попало в p9?
> 
> Потому что p9 ещё не готов для приёма нового selinux. Не надо с этим спешить.

Обновление с 3.0-alt1 на 3.0-alt2 не выглядит особенно революционным
Comment 7 Anton Farygin 2020-08-06 12:10:46 MSK
(Ответ для Anton V. Boyarshinov на комментарий #6)
> > > > Добавлю: для этого достаточно отправить policycoreutils-3.0-alt2 в p9.
> > > 
> > > А.. А.. А почему это полезное изменение не попало в p9?
> > 
> > Потому что p9 ещё не готов для приёма нового selinux. Не надо с этим спешить.
> 
> Обновление с 3.0-alt1 на 3.0-alt2 не выглядит особенно революционным

Да, это выглядит нормальным, но всё равно на мой взгляд зависимость лучше отрывать у freeipa.
Comment 8 Anton V. Boyarshinov 2020-08-06 12:15:42 MSK
> > Обновление с 3.0-alt1 на 3.0-alt2 не выглядит особенно революционным
> 
> Да, это выглядит нормальным, но всё равно на мой взгляд зависимость лучше
> отрывать у freeipa.

На мой взгляд, надо сделать и то и другое. Сборка 3.0-alt2 -- быстрое решение (я уже отправил #255935), но в freeipa надо бы тоже оторвать.
Comment 9 Anton Farygin 2020-08-06 12:16:38 MSK
Согласен.

Стас, оторви пожалуйста в freeipa.
Comment 10 Andrey Cherepanov 2020-08-06 12:25:52 MSK
255939 BUILDING #1 [locked] p9 policycoreutils.git=3.1-alt1
Comment 11 Anton V. Boyarshinov 2020-08-06 12:27:27 MSK
(Ответ для Andrey Cherepanov на комментарий #10)
> 255939 BUILDING #1 [locked] p9 policycoreutils.git=3.1-alt1

Нет, только не это! См обсуждение выше.
Comment 12 Andrey Cherepanov 2020-08-06 12:30:27 MSK
(Ответ для Anton V. Boyarshinov на комментарий #11)
> (Ответ для Andrey Cherepanov на комментарий #10)
> > 255939 BUILDING #1 [locked] p9 policycoreutils.git=3.1-alt1
> 
> Нет, только не это! См обсуждение выше.

Мне наша багзилла далеко не все письма присылает. Поэтому обсуждение не видел, прощу прощения. Задание удалил.
Comment 13 Anton V. Boyarshinov 2020-08-06 14:46:45 MSK
(Ответ для Anton Farygin на комментарий #9)
> Согласен.
> 
> Стас, оторви пожалуйста в freeipa.

В том числе и в freeipa-server.

Он прямо зависит от selinux-policy-alt, что недопустимо.
Comment 14 Stanislav Levin 2020-08-06 14:50:11 MSK
Если это так, то покажите, пожалуйста, policy.

Мне нужна хорошая аргументация, чтобы это, может быть, рассмотрели/приняли в апстриме.
Есть ли какие-то документы, на которые можно ссылаться?
Comment 15 Anton Farygin 2020-08-06 14:57:20 MSK
(Ответ для Anton V. Boyarshinov на комментарий #13)
> (Ответ для Anton Farygin на комментарий #9)
> > Согласен.
> > 
> > Стас, оторви пожалуйста в freeipa.
> 
> В том числе и в freeipa-server.
> 
> Он прямо зависит от selinux-policy-alt, что недопустимо.

А вот тут я, кстати, считаю что установка selinux-policy-alt (и всех его зависимостей) в обычную систему не должна превращать её или какие-то её компоненты в тыкву.
Поке не включено selinux в ядре.

Это вне контекста freeipa-server.
Comment 16 AEN 2020-08-06 15:26:12 MSK
Это требования ФСТЭК, не знаю формализованы ли они. Можете уточнить у Игоря Корчагина. 
Не думаю, что даже имея бумажку от этого регулятора, удастся убедить апстрим, потому что это не технические по сути требования. 
Но без их выполнения мы не получим сертификат.
Comment 17 AEN 2020-08-06 15:27:39 MSK
(Ответ для Anton Farygin на комментарий #15)
> (Ответ для Anton V. Boyarshinov на комментарий #13)
> > (Ответ для Anton Farygin на комментарий #9)
> > > Согласен.
> > > 
> > > Стас, оторви пожалуйста в freeipa.
> > 
> > В том числе и в freeipa-server.
> > 
> > Он прямо зависит от selinux-policy-alt, что недопустимо.
> 
> А вот тут я, кстати, считаю что установка selinux-policy-alt (и всех его
> зависимостей) в обычную систему не должна превращать её или какие-то её
> компоненты в тыкву.
> Поке не включено selinux в ядре.
> 
> Это вне контекста freeipa-server.

Да, конечно. 
Но это для несертифицировнных систем.
Comment 18 Anton Farygin 2020-08-06 15:53:14 MSK
(Ответ для AEN на комментарий #17)
> (Ответ для Anton Farygin на комментарий #15)
> > (Ответ для Anton V. Boyarshinov на комментарий #13)
> > > (Ответ для Anton Farygin на комментарий #9)
> > > > Согласен.
> > > > 
> > > > Стас, оторви пожалуйста в freeipa.
> > > 
> > > В том числе и в freeipa-server.
> > > 
> > > Он прямо зависит от selinux-policy-alt, что недопустимо.
> > 
> > А вот тут я, кстати, считаю что установка selinux-policy-alt (и всех его
> > зависимостей) в обычную систему не должна превращать её или какие-то её
> > компоненты в тыкву.
> > Поке не включено selinux в ядре.
> > 
> > Это вне контекста freeipa-server.
> 
> Да, конечно. 
> Но это для несертифицировнных систем.

Вообще для любых, т.к. сертификаты тоже бывают разными. В общем есть что чинить,  отличный case.
Comment 19 Anton V. Boyarshinov 2020-08-06 16:18:20 MSK
(Ответ для AEN на комментарий #16)
> Это требования ФСТЭК, не знаю формализованы ли они. Можете уточнить у Игоря
> Корчагина. 
> Не думаю, что даже имея бумажку от этого регулятора, удастся убедить
> апстрим, потому что это не технические по сути требования. 
> Но без их выполнения мы не получим сертификат.

Я не уверен, в том, что необходимо что-то менять на уровне кода(Ответ для Stanislav Levin на комментарий #14)
> Если это так, то покажите, пожалуйста, policy.
> 
> Мне нужна хорошая аргументация, чтобы это, может быть, рассмотрели/приняли в
> апстриме.

А тут действительно техническая проблема такого уровня, что её нельзя решить, не вмешивая upstream? Требование установленного selinux-policy настолько неопционально, что без него развалится работа freeipa-server на системе без selinux?
Вообще говоря, selinux не является обязательной частью linux дистрибутива, не говоря уже о том, что существуют альтернативные реализации мандатного доступа. Понятно, что они могут не поддерживаться freeipa, но неужели freeipa сервер действительно не может жить без установленной policy?
Comment 20 Anton V. Boyarshinov 2020-08-06 16:21:51 MSK
 
> А вот тут я, кстати, считаю что установка selinux-policy-alt (и всех его
> зависимостей) в обычную систему не должна превращать её или какие-то её
> компоненты в тыкву.
> Поке не включено selinux в ядре.
С этим я в целом согласен. Но, поскольку до этого всё это дело разрабатывалось без оглядки на "обычные системы" по принципу "это странные пакеты для странных систем" это, увы, нет так. И исправить это быстро может оказаться непросто.

Хотя исправлять надо, да. Но и тащит совершенно ненужные в данных применениях пакеты -- тоже не надо.
Comment 21 Michael Shigorin 2020-08-07 06:24:03 MSK
(Ответ для Anton V. Boyarshinov на комментарий #20)
> И исправить это быстро может оказаться непросто.
Может, пустой пакет selinux-policy-none Provides: selinux-policy?
(но такое резко снизит мотивацию исправить наскоро заткнутое, конечно)
Comment 22 Anton V. Boyarshinov 2020-08-07 10:43:59 MSK
(Ответ для Michael Shigorin на комментарий #21)
> (Ответ для Anton V. Boyarshinov на комментарий #20)
> > И исправить это быстро может оказаться непросто.
> Может, пустой пакет selinux-policy-none Provides: selinux-policy?
> (но такое резко снизит мотивацию исправить наскоро заткнутое, конечно)

Вопрос в том, сломается ли freeipa-server, если никакой policy установлено не будет. Если не сломается -- достаточно просто убрать эту зависимость из пакета. А если сломается -- пустой пакет не поможет.
Comment 23 Ivan A. Melnikov 2020-09-16 17:07:17 MSK
А всё-таки, нельзя ли оторвать зависимость на policycoreutils от freeipa-client?

Если нет, давайте закроем этот баг наверное.
Comment 24 Stanislav Levin 2020-09-17 08:41:42 MSK
Посмотрю в начале след недели.
Спасибо за напоминание.
Comment 25 Stanislav Levin 2020-09-23 17:29:00 MSK
Анализ кода показал, что зависимость как на policycoreutils, так и на selinux-policy-alt _опциональна_. Тесты рапортуют, что при их отрывании ломаются только сами тесты (неверные ожидания, поправлено). В случае успеха CI новая версия FreeIPA + ALT-специфичные изменения будут отправлены в sisyphus.
Comment 26 Repository Robot 2020-09-30 12:26:21 MSK
freeipa-4.8.9-alt1 -> sisyphus:

 Fri Aug 21 2020 Stanislav Levin <slev@altlinux> 4.8.9-alt1
 - 4.8.8 -> 4.8.9.
 - Made SELinux optional (closes: #38788).
Comment 27 AEN 2020-09-30 12:39:53 MSK
Спасибо!