“配置文件“/home/david/.gnupg/gpg.conf”的权限不安全”这是什么意思以及如何修复?

“配置文件“/home/david/.gnupg/gpg.conf”的权限不安全”这是什么意思以及如何修复?
gpg: WARNING: unsafe permissions on configuration file `/home/david/.gnupg/gpg.conf'
gpg: WARNING: unsafe enclosing directory permissions on configuration file `/home/david/.gnupg/gpg.conf'
gpg: external program calls are disabled due to unsafe options file permissions
gpg: keyserver communications error: general error
gpg: keyserver receive failed: general error

这是什么意思以及如何解决?

答案1

gpg:警告:配置文件/home/david/.gnupg/gpg.conf' gpg: WARNING: unsafe enclosing directory permissions on configuration file/home/david/.gnupg/gpg.conf' 的权限不安全 gpg:由于选项文件权限不安全,外部程序调用被禁用

这意味着你~/.gnupg/gpg.conf拥有你正在运行的用户的意外权限,例如对“其他用户”、其他用户或可执行位的写入权限。此文件应始终出于安全原因仅可由用户读取和写入,并且没有别人了

$ ls -l ~/.gnupg/gpg.conf
-rw------- 1 braiam braiam 7890 Jul  8 18:51 .gnupg/gpg.conf

您的用户或权限可能不同。使用 检查它们ls -l ~/.gnupg/gpg.conf。修复此问题非常简单:

chown $(whoami):$(whoami) ~/.gnupg/gpg.conf ## if this fails read at the bottom
chmod 600 ~/.gnupg/gpg.conf

如果某些命令失败,或者您按照这些说明操作后仍然收到提到的错误消息,则应该删除该~/.gnupg目录,因为它不再受信任。

rm -r ~/.gnupg/gpg.conf ## If this fails, use sudo

然后,您可以尝试使用要gpg运行脚本的同一用户来运行命令,这样您的用户就可以创建~/.gnupg具有适当权限的目录。

答案2

您可能.gnupg从另一台机器迁移了文件夹,或者以其他方式篡改了文件权限。

出于安全原因,GnuPG 强制文件夹和某些文件的私人所有权。

这两行修复了权限问题。第一行确保~/.gnupg文件夹(以及其中的所有内容)确实属于您。要超越所有权,需要 root 权限,因此需要sudo。第二行确保除了您之外没有人可以读取其内容(删除组和其他用户的读取、写入和执行权限)。您的用户名会自动插入,因此您可以将这些行直接复制粘贴到您的终端:

sudo chown -R ${USER}:${USER} ~/.gnupg
chmod -R go-rwx ~/.gnupg

答案3

我刚刚遇到了同样的问题。原来我是gpg使用 运行命令的sudo。当我再次尝试不使用 时sudo,它运行正常,没有显示任何错误。所以,你的情况可能也是这样。

相关内容