У меня есть двоичный файл foo
, сгенерированный из кода C++, для которого установлены специальные возможности:
sudo setcap cap_sys_rawio=ep ./foo
Теперь я хочу собрать еще одну версию этого двоичного файла, и выходные данные сборки (новый двоичный файл) помещаются в файл с именем bar
. Очевидно, что bar
не будет иметь тех же возможностей, что и foo
. Я хотел бы скопировать содержимое bar
поверх foo
, чтобы foo
представлял новый двоичный файл, но без удаления возможностей.
Этот ответ указывает, что изменение файла не влияет на возможности, но когда я пытаюсь использовать cp
(который использует open(..., O_TRUNC)
под прикрытием ) возможности удалены.
cp
, которые копируют атрибуты, например-a
или--preserve=xattr
? Они заменят возможности foo на возможности bar. - person Barmar   schedule 14.01.2020foo
возможностямиbar
; они хотят сохранить возможностиfoo
и просто заменить содержимоеfoo
содержимымbar
. - person Richard Fearn   schedule 14.01.2020