Como evitar que o gpg crie o diretório .gnupg no diretório pessoal do usuário

12

Estou tentando executar o uso da ferramenta gpg para criptografar e descriptografar arquivos, e gostaria de saber se é possível executar essa ferramenta sem alterar o estado global de um usuário. Especificamente, executar gpg pela primeira vez como um determinado usuário fará com que ele crie um diretório .gnupg e outros artefatos no diretório inicial de um usuário.

Eu tive algum sucesso em isolar a operação desse comando do anel de chave pública e secreta de um usuário (veja minha gema Ruby em link como eu faço isso) e este é o último comportamento restante de gpg que gostaria de evitar.

    
por Richard Cook 02.08.2013 / 22:13

2 respostas

7

Você pode passar o argumento --homedir ou usar a variável de ambiente GNUPGHOME para que use outro diretório em vez de .gnupg . Se você estiver criando scripts, poderá criar um diretório temporário:

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

E depois limpe quando terminar:

gpg ...
rm -rfi $GNUPGHOME
    
por 02.08.2013 / 22:28
4

"Como evitar que o gpg crie o diretório .gnupg"

Eu tive o mesmo problema descrito no título da pergunta ao verificar algumas impressões digitais em um disco montado somente de leitura.

A solução que usei foi adicionar o --no-options flag ao comando gpg :

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

De acordo com o manual :

--no-options

Shortcut for --options /dev/null. This option is detected before an attempt to open an option file. Using this option will also prevent the creation of a ~/.gnupg homedir.

Se o gpg ainda imprimir erros que não podem ler os chaveiros públicos e secretos do usuário, o redirecionamento 2>/dev/null irá suprimi-los. Observe, no entanto, que o código de saída do comando pode ser diferente de zero nesse caso, mesmo que as informações da chave sejam impressas.

    
por 24.08.2017 / 12:31

Tags