如何防止gpg在用户主目录中创build.gnupg目录

我试图运行使用gpg工具来encryption和解密文件,我想知道是否有可能在不改变用户的全局状态的情况下运行此工具。 特别是,第一次作为给定用户运行gpg会导致它在用户的主目录中创build.gnupg目录和其他工件。

我已经在用户的公开和秘密钥匙圈中隔离了这个命令的操作方面取得了一些成功(参见我的Ruby Gem https://github.com/rcook/rgpg ),这是最后的剩余gpg行为我想要防止。

您可以传递--homedir参数或使用GNUPGHOME环境variables使其使用另一个目录而不是.gnupg 。 如果您正在编写脚本,则可以创build一个临时目录:

 GNUPGHOME=$(mktemp -d $HOME/.gnupgXXXXXX) export GNUPGHOME 

然后清理完成后:

 gpg ... rm -rfi $GNUPGHOME 

“如何防止gpg创build.gnupg目录”

在检查只读装载磁盘上的一些关键指纹时,我遇到了与问题标题中描述的相同的问题。

我使用的解决scheme是将--no-option标志添加到gpg命令:

 gpg --no-option \ --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 

根据手册 :

--no-options

–options / dev / null的快捷方式。 尝试打开选项文件之前检测到此选项。 使用这个选项也会阻止创build〜/ .gnupg homedir。