“对配置文件`/home/david/.gnupg/gpg.conf的不安全权限”是什么意思,以及如何解决?


8
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

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

Answers:


13

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具有适当权限的create 目录。


1
在Cygwin上,只有这样才能起作用:chmod 700 .gnupg
CMCDragonkai 2015年

12

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

出于安全考虑,GnuPG强制对文件夹和某些文件进行私有所有权。

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

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

那是最短的答案。
米哈尔莱昂

3

我只是面临同样的问题。原来我正在gpg使用运行命令sudo。当我再次尝试不使用时sudo,它工作正常,并且未显示任何错误。因此,您也可能会遇到这种情况。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.