gpt4 book ai didi

linux - RPM - 签名后修改包

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:47:02 24 4
gpt4 key购买 nike

我们使用 RPM 包来将我们的产品部署到客户的环境中。为了使 RPM 完全独立,我们“个性化”了 RPM 以适应特定客户的环境。这样,客户只需安装RPM,无需按照任何向导编辑配置文件。

我的问题如下:我们在对 RPM 包进行个性化之前对其进行签名。个性化过程涉及将信息附加到 RPM 文件(没有真正添加 RPM header ,只是附加原始数据)。这种修改(自然地)破坏了包的签名。

我正在寻找的是一个让我在不破坏签名的情况下修改文件的技巧。

这是我到目前为止尝试过的:

  1. 包的“前导”部分包含可以使用的保留字节,但它的大小非常有限且不可扩展。
  2. 添加扩展文件属性 - 非常容易使用,但在复制文件时属性会消失(有特殊标志可以保留属性,但我们不能强制使用它们)。
  3. 我们想过在 RPM 中插入一个虚拟 header 并诱使 RPM 代码不检查它,但仍然不确定该怎么做。
  4. 在个性化完成后签署包裹 - 也不可扩展,因为这意味着我们需要为每个客户签署包裹,而不是一次。

请注意,我知道签名应该防止修改文件的内容(它的行为符合预期)。然而,我真的不想修改 RPM 数据,只是在文件中包含额外的信息。

有什么想法吗?

谢谢!

最佳答案

第五种选择是制作一个包含您的更改并依赖于签名包的包。当然,您是否签署您的包取决于它的分发方式。

如果您的软件包修改了原始 RPM 中的文件,您可以通过使 %pre%preun 脚本重命名原始文件来解决这个问题(文件名的使用冲突)文件到备份版本并添加一个符号链接(symbolic link)到你的替换。这确实会干扰验证原始包内容,但您的修改应该是您可以根据具体情况进行验证的内容。

关于linux - RPM - 签名后修改包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38551175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com