我如何查看 apt/trusted.gpg 内部?

Dar*_*ook 10 apt gnupg

我喜欢将/etcgit的内容放在里面,这样我就可以看到自动更新发生了什么变化,以及什么时候出现问题,这样我就可以回去找出自上次工作以来我发生了什么变化。

目前我被告知:

modified:   trusted.gpg
modified:   trusted.gpg~
Run Code Online (Sandbox Code Playgroud)

git diff没有用,因为这些是二进制文件。我当然可以签入它们,但这些文件是包安全的核心,所以这样做会嘲笑我的安全尝试!那么,我如何找出发生了什么变化?

作为 root 我试过:

cd /etc/apt
gpg -k trusted.gpg
Run Code Online (Sandbox Code Playgroud)

(也试过--list-keys--list-public-keys)。它说gpg: error reading key: public key not found

我确定这一定只是发现提供给 gpg 的正确参数的问题?

and*_*ing 14

$ apt-key list
Run Code Online (Sandbox Code Playgroud)

从关于安全 apt的文档:

apt-key 是一个程序,用于管理安全 apt 的 gpg 密钥的密钥环。密钥环保存在文件 /etc/apt/trusted.gpg 中(不要与相关但不是很有趣的 /etc/apt/trustdb.gpg 混淆)。apt-key 可用于显示密钥环中的密钥,以及添加或删除密钥。

  • 太棒了,谢谢。然后为了查看差异,我做了`diff <(apt-key --keyring /etc/apt/trusted.gpg list) <(apt-key --keyring /etc/apt/trusted.gpg~ list)`(注意。完整路径对于 --keyring 参数至关重要) PS 实际上我使用的是 `meld` 而不是 `diff`,当然;-) meld 清楚地告诉我 Opera 在 2013 年 7 月 3 日添加了第二个密钥。 (4认同)

小智 5

如果您正在使用,gpg -k --keyring <file>请确保指定文件路径,否则 gpg 将假定<file>位于,~/.gnupg/即使它存在于当前目录中!

以下内容不会按预期工作:

cd /etc/apt
gpg -k --no-default-keyring --keyring trusted.gpg
Run Code Online (Sandbox Code Playgroud)

反而:

cd /etc/apt
gpg -k --no-default-keyring --keyring ./trusted.gpg
Run Code Online (Sandbox Code Playgroud)