“对配置文件`/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
,它工作正常,没有显示错误。 所以,你也可能就是这样。