Bug 39089 - Добавить опцию запрета создания жестких ссылок.
Summary: Добавить опцию запрета создания жестких ссылок.
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: chrooted (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 enhancement
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-16 21:08 MSK by nbr
Modified: 2020-12-21 21:49 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nbr 2020-10-16 21:08:06 MSK
Chrooted в строке 137 в Copy пытается всегда сделать ln для копируемого файла, затем пытается его скопировать.
Предлагаю ввести ключ для update_сhrooted (например -s) который бы 
позволял сразу делать cp, не пытаясь сделать ln.
Такое полезно в системах с selinux, где этот hardlinked файл технически 
будет иметь только одну метку а по смыслу нахождения в основном месте и в chroot он должен был бы иметь разные метки. В случае копирования создаются два файла с разными метками а в случае hardlink - один файл с "не той" меткой в каком-нибудь месте.
Comment 1 Dmitry V. Levin 2020-12-21 20:16:01 MSK
(In reply to nbr from comment #0)
> Chrooted в строке 137 в Copy пытается всегда сделать ln для копируемого
> файла, затем пытается его скопировать.
> Предлагаю ввести ключ для update_сhrooted (например -s) который бы 
> позволял сразу делать cp, не пытаясь сделать ln.

Добавлять утилите update_сhrooted параметр, меняющий её поведение,
бессмысленно, поскольку невозможно пропатчить всех пользователей этой утилиты.
Нужен какой-то другой вариант, не затрагивающий этих пользователей.
Comment 2 nbr 2020-12-21 21:04:59 MSK
(In reply to Dmitry V. Levin from comment #1)
> (In reply to nbr from comment #0)
> > Chrooted в строке 137 в Copy пытается всегда сделать ln для копируемого
> > файла, затем пытается его скопировать.
> > Предлагаю ввести ключ для update_сhrooted (например -s) который бы 
> > позволял сразу делать cp, не пытаясь сделать ln.
> 
> Добавлять утилите update_сhrooted параметр, меняющий её поведение,
> бессмысленно, поскольку невозможно пропатчить всех пользователей этой
Странный ответ. Не бессмысленно, я же указал осмысленный вариант
использования этого параметра.
> утилиты.
> Нужен какой-то другой вариант, не затрагивающий этих пользователей.
Каким образом добавление нового  ключа утилиты, о котором не знают и не собираются
знать текущие ее пользователи
Comment 3 nbr 2020-12-21 21:08:49 MSK
Я предлагаю сделать этот ключ не для общего употребления, а только для создания специальных дистрибутивов с Selinux. Поведение сhrooted для обычных дистрибутивов менять не придется, равно как и патчить зависящие от них программы.
Comment 4 Dmitry V. Levin 2020-12-21 21:09:45 MSK
(In reply to nbr from comment #2)
> (In reply to Dmitry V. Levin from comment #1)
> > (In reply to nbr from comment #0)
> > > Chrooted в строке 137 в Copy пытается всегда сделать ln для копируемого
> > > файла, затем пытается его скопировать.
> > > Предлагаю ввести ключ для update_сhrooted (например -s) который бы 
> > > позволял сразу делать cp, не пытаясь сделать ln.
> > 
> > Добавлять утилите update_сhrooted параметр, меняющий её поведение,
> > бессмысленно, поскольку невозможно пропатчить всех пользователей этой
> Странный ответ. Не бессмысленно, я же указал осмысленный вариант
> использования этого параметра.

К сожалению, нет.

> > утилиты.
> > Нужен какой-то другой вариант, не затрагивающий этих пользователей.
> Каким образом добавление нового  ключа утилиты, о котором не знают и не
> собираются
> знать текущие ее пользователи

Нет смысла добавлять ключ, который по смыслу следует обязательно использовать во всех скриптах, вызывающих update_сhrooted, при некотрых определённых условиях, например, в системах с selinux.
Comment 5 Dmitry V. Levin 2020-12-21 21:12:29 MSK
(In reply to nbr from comment #3)
> Я предлагаю сделать этот ключ не для общего употребления, а только для
> создания специальных дистрибутивов с Selinux. Поведение сhrooted для обычных
> дистрибутивов менять не придется, равно как и патчить зависящие от них
> программы.

Поскольку update_сhrooted запускают различные скрипты в пакетах,
если добавить параметр к update_сhrooted и при этом не пропатчить ВСЕ эти скрипты, то желаемый эффект не будет достигнут.
Comment 6 AEN 2020-12-21 21:17:54 MSK
(Ответ для Dmitry V. Levin на комментарий #4)
> (In reply to nbr from comment #2)
> > (In reply to Dmitry V. Levin from comment #1)
> > > (In reply to nbr from comment #0)
> > > > Chrooted в строке 137 в Copy пытается всегда сделать ln для копируемого
> > > > файла, затем пытается его скопировать.
> > > > Предлагаю ввести ключ для update_сhrooted (например -s) который бы 
> > > > позволял сразу делать cp, не пытаясь сделать ln.
> > > 
> > > Добавлять утилите update_сhrooted параметр, меняющий её поведение,
> > > бессмысленно, поскольку невозможно пропатчить всех пользователей этой
> > Странный ответ. Не бессмысленно, я же указал осмысленный вариант
> > использования этого параметра.
> 
> К сожалению, нет.
> 
> > > утилиты.
> > > Нужен какой-то другой вариант, не затрагивающий этих пользователей.
> > Каким образом добавление нового  ключа утилиты, о котором не знают и не
> > собираются
> > знать текущие ее пользователи
> 
> Нет смысла добавлять ключ, который по смыслу следует обязательно
> использовать во всех скриптах, вызывающих update_сhrooted, при некотрых
> определённых условиях, например, в системах с selinux.

Может быть, включить определение выполнения этих условий?
Comment 7 Dmitry V. Levin 2020-12-21 21:28:41 MSK
(In reply to AEN from comment #6)
> (Ответ для Dmitry V. Levin на комментарий #4)
> > Нет смысла добавлять ключ, который по смыслу следует обязательно
> > использовать во всех скриптах, вызывающих update_сhrooted, при некотрых
> > определённых условиях, например, в системах с selinux.
> 
> Может быть, включить определение выполнения этих условий?

Я объяснил, почему не надо добавлять ключ и вообще менять command line interface под эту задачу.  Надо просто придумать какой-то другой способ настройки поведения update_сhrooted.
Comment 8 nbr 2020-12-21 21:32:24 MSK
Кротко скажу, что такая опция может быть полезна и для систем или дистрибутивов общего назначения, в которых администраторы хотят одинакового поведения сhrooted (всегда копирование) для систем с разной разметкой файловых систем.
Comment 9 nbr 2020-12-21 21:42:47 MSK
А если такой вариант?

SourceIfNotEmpty /etc/sysconfig/chrooted 

if [ "$CHROOTED_NO_HARDLINKS" == 1 ] ;
 then
    
 fi
Comment 10 Dmitry V. Levin 2020-12-21 21:49:56 MSK
Да, конечно, это должен быть конфигурационный файл.