I'm trying to run use the gpg
tool to encrypt and decrypt files and I would like to know if it's possible to run this tool without it changing a user's global state. Specifically, running gpg
for the first time as a given user will cause it to create a .gnupg
directory and other artifact's in a user's home directory.
I've had some success in isolating the operation of this command from a user's public and secret key ring (see my Ruby gem at https://github.com/rcook/rgpg for how I do this) and this is the last remaining behaviour of gpg
I'd like to prevent.
Best Answer
You can pass it the
--homedir
argument or use theGNUPGHOME
environment variable to have it use another directory instead of.gnupg
. If you're scripting this, you could create a temporary directory:And then clean up when you're done: