导读

Ubuntu 的升级不断地增强功能并添加安全修复程序。但是,很少见到一些核心机制的更改。

在 Ubuntu 23.10 中,PPA 的功能得到了改进。至少,你在终端中看到警告会更少。

这是什么意思呢?让我详细说明一下。

GPG 密钥问题

传统上,PPA 和其他外部存储库是通过 /etc/apt/sources.list.d/ 中的 .list 来源列表文件进行管理的。此外,还有一个关联的 GPG 密钥环被放在 /etc/apt/trusted.gpg.d 中。

这被认为是一个潜在的安全问题,因为 GPG 密钥是在系统级别上添加的。

怎么回事?想象一下,你为存储库 A 添加密钥以获取包 AA,并从存储库 B 获取包 BB。你的系统将很乐意接受用存储库 A 的密钥签名的 BB 包。因为它无法将密钥与其各自的包关联起来。

这是个问题,对吧?这种旧机制正在逐步淘汰。现在,GPG 密钥信息将添加到外部存储库本身的 sources.list 中。这样,GPG 密钥将只接受其对应存储库的软件包。

现有的 Ubuntu 用户可能已经遇到了使用 /etc/apt/trusted.gpg.d 中的旧方法添加 GPG 密钥时出现的 apt-key is deprecated 警告。

以下是旧的 添加外部存储库 的方法的示例:

sudo apt install apt-transport-https curl
curl -sS //dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
sudo sh -c 'echo "deb //dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'
sudo apt update && sudo apt install yarn
PPA 将使用新的 GPG 密钥机制

现在,PPA 与添加外部存储库略有不同。在这里,你不需要手动导入 GPG 密钥并将其添加到 /etc/apt/trusted.gpg.d 目录中。

sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt-get update
sudo apt-get install lighttable-installer

直到现在,所有事情都由 PPA 机制自己处理,与 PPA 相关联的 GPG 密钥会自动添加到 /etc/apt/trusted.gpg.d 目录中。用户在这里不需要做任何事情。

在 Ubuntu 23.10 中,引入了一种新的方法。

现在,PPA 将作为 deb822 格式的 .sources 文件添加,其中密钥直接嵌入文件的 Signed-By 字段中。

使用这种方法,可以获得以下一些优点:

  • 当删除存储库时,相关的密钥也会被删除。
  • PPA 与其密钥之间一一对应。没有安全问题。

在揭示这一消息的邮件列表中也提到:

该密钥专门用于特定的 PPA,无法用于其他存储库(与旧的存放所有存储库的源列表的 trusted.gpg.d 不同)。其他密钥不能用于签署该 PPA。

总的来说,新的 PPA 版本将减少 “Key is stored in legacy trusted.gpg keyring” 和 “Manage keyring files in trusted.gpg.d instead” 警告。

我认为 Ubuntu 应该早些时候就引入这个改变,但迟到总比没有好。


via: //news.itsfoss.com/ubuntu-23-10-set-to-let-you-easily-manage-ppas-while-enhancing-security/

作者:Ankush Das 选题:lkxed 译者:ChatGPT 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

原文来自:

本文地址://q13zd.cn/ujyraqzqdp.html编辑:逄增宝,审核员:清蒸github

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: