用户是否应该有权访问 .gnupg/private-keys?

用户是否应该有权访问 .gnupg/private-keys?

[我是命令行 gpg 的新手,可能在密钥创建过程中搞错了一些步骤。出于隐私目的,我使用[REDACTED]]删除了所有密钥信息

我的 gpg 列出了我的公钥

$ gpg --list-keys
/home/seb/.gnupg/pubring.kbx
----------------------------
[REDACTED]

然而,它似乎不知道我的任何私钥

$ gpg -K
$

这很奇怪,因为我.key的文件夹中有两个文件~/.gnupg/private-keys-v1.d/

现在我尝试手动添加它们

$ gpg --allow-secret-key-import --import .gnupg/private-keys-v1.d/[REDACTED].key
gpg: can't open '.gnupg/private-keys-v1.d/[REDACTED].key': Permission denied
gpg: Total number processed: 0

事实证明我当前的用户没有这些密钥的读取权限

$ ls -la .gnupg/private-keys-v1.d/
total 16
drwx------ 2 seb  seb  4096 apr 21 22:34 .
drwx------ 4 seb  seb  4096 mei 19 16:31 ..
-rw------- 1 root root [REDACTED].key

现在我通过以下方式进行了更改$ sudo chmod +r .gnupg/private-keys-v1.d/*并尝试手动添加它们似乎有效。

这似乎效果很好,但我想知道让当前用户可读私钥是否是个好主意。

答案1

这似乎效果很好,但我想知道让当前用户可读私钥是否是个好主意。

是的,这很正常。GnuPG 尚未实现任何类型的系统级隔离密钥存储 - 尽管 gpg-agent 的架构已经非常接近,但它仍然只是在您自己的用户帐户下运行,具有与您所有其他进程相同的权限。

您的其他输出显示密钥归所有root:root,但这只是因为您使用了sudo gpg --import或类似的东西。

相关内容