“对配置文件`/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 

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

gpg:警告:配置文件/home/david/.gnupg/gpg.conf' gpg: WARNING: unsafe enclosing directory permissions on configuration file上的不安全权限:警告:配置文件/home/david/.gnupg/gpg.conf' gpg: WARNING: unsafe enclosing directory permissions on configuration file 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命令,这样您的用户就可以使用具有相应权限的create ~/.gnupg目录。

您可能从另一台计算机迁移了.gnupg文件夹,或者使用文件权限篡改了另一种方式。

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

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

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

我刚遇到同样的问题。 事实certificate我正在使用sudo运行gpg命令。 当我再次尝试没有sudo ,它工作正常,没有显示错误。 所以,你也可能就是这样。