我正在尝试运行使用gpg工具来加密和解密文件,我想知道是否可以在不改变用户的全局状态的情况下运行此工具.具体来说,作为给定用户第一次运行gpg将导致它在用户的主目录中创建.gnupg目录和其他工件.
我已经成功地将这个命令的操作从用户的公钥和密钥环中隔离出来(请参阅我的Ruby gem在https://github.com/rcook/rgpg,我是如何做到这一点的),这是我想要阻止的gpg的最后剩余行为.
解决方法
您可以传递–homedir参数或使用GNUPGHOME环境变量使其使用另一个目录而不是.gnupg.如果您正在编写脚本,则可以创建一个临时目录:
GNUPGHOME=$(mktemp -d $HOME/.gnupgXXXXXX) export GNUPGHOME
完成后清理:
gpg ... rm -rfi $GNUPGHOME