主目录中的 .gnupg 目录是什么?

主目录中的 .gnupg 目录是什么?

我在 Linux Mint 17.2 Cinnamon 上的主目录中发现了一个奇怪的目录(尽管我非常有信心它在所有 Linux 发行版上都存在),名为 .gnupg。除 root 之外的任何人都无法访问它。所以我有三个问题:

  1. 这个目录是什么?它包含什么?
  2. 为什么它被放置在用户的主目录中但不给他们任何访问权限?
  3. 仅以 root 身份进入目录会有什么危害吗?

答案1

大多数点文件的名称类似于使用它的应用程序。不出所料,.gnupg被使用GnuPG。 GnuPG(也称为 GPG)是一种对文件进行加密和签名的程序。当您第一次调用它时,它将.gnupg在您的主目录中创建一个目录并在其中创建一些文件。该目录包含大量私人信息(例如您的联系人是谁),因此只有所有者才能访问。例如,如果有人向您发送了一封签名电子邮件,则可能会发生这种情况;如果您的电子邮件客户端支持 PGP 电子邮件,那么它将尝试验证签名(并且会失败,因为您的 GPG 密钥环中没有发件人的公钥)。

这里真正的问题是为什么你的主目录中的这个目录由root拥有。答案是您以 root 身份运行 GPG,但HOME设置为您自己的主目录。或者,更准确地说,您运行了一个在幕后运行 GPG 的程序。 APT 就是这样的程序:包管理工具(apt-getaptaptitude等)使用 GPG 来验证您下载的包是否是正版的。如果您运行类似的命令sudo apt-get install SOMEPACKAGE,这将.gnupg在您的主目录中创建一个目录,因为sudo默认情况下不会更改主目录。

修复方法是删除该.gnupg目录,然后在您的用户下创建它。您可以只删除 root 拥有的目录 ( sudo rm -r ~/.gnupg):您的主目录下的任何文件对您来说都是公平的游戏。您也可以将其移至 root 的主目录 ( sudo mv ~/.gnupg /root),但它无论如何都不包含任何重要内容。然后运行 ​​GPG 命令,例如gpg --list-keys;这将~/.gnupg用空的密钥环文件填充您的目录。

仅仅输入一个目录总是无害的。列出文件并查看其内容通常是无害的,但是在某些配置中它可能是有害的,因为终端会解析应用程序打印的转义序列。在 Linux 下,plainlsls -l都可以,但ls -N存在潜在风险。普通cat filename是有风险的,但less filename也很好(反之则less +R filename有风险)。该.gnupg目录中没有任何有害内容。

答案2

该目录~/.gnupg是 GnuPG(GNU Privacy Guard)的配置文件所在的位置。这是一种常见的密码学工具(参见https://www.gnupg.org/)。

它的权限应该允许您访问,也许其他人也不能访问。如果该目录由系统上的 root 用户拥有,那就很奇怪了。是不是真的?通过运行来检查ls -ld ~/.gnupg

该目录本身不会造成任何损害,您可以查看里面的内容。

答案3

只是想补充一点,您可以使用环境变量更改此文件夹的位置GNUPGHOME

export GNUPGHOME="${XDG_DATA_HOME:-$HOME/.local/share}/gnupg"

homedir拱门维基

相关内容