gpg

gpg utiliza ficheiros temporários em vez de tubos

Eu tenho meu /root montado como somente leitura. Eu tenho um script que envia um email criptografado usando gpg ; algo como o seguinte:

echo "hello" | gpg --no-verbose -e -a -r martin.com | mail martin.com

Mas recebo um erro:

gpg: failed to create temporary file `/root/.gnupg/.#dkflsfj': Sistema de arquivos somente leitura

Como posso dizer ao gpg para não usar arquivos temporários? Encontrei uma opção use-temp-files na página man :

use-temp-files

    Na maioria das plataformas do tipo Unix, o GnuPG se comunica com o programa keyserver helper via pipes, que é o método mais eficiente. Esta opção força o GnuPG a usar arquivos temporários para se comunicar. Em algumas plataformas (como Win32 e RISC OS), esta opção está sempre habilitada.

Não tenho essa opção habilitada no meu config. Aparentemente, ele é definido por padrão. Existe alguma maneira que eu poderia "negar" esta opção? A opção no-use-temp-files não parece ter nenhum efeito:

echo "asdf" | gpg --keyserver-options no-use-temp-files -e -a -r martin.com

Eu ainda recebo o mesmo erro: gpg: failed to create temporary file `/root/.gnupg/.#jkfjg': Read-only file system , e se eu disser --no-use-temp-files , recebo um erro : gpg: Invalid option "--no-use-temp-files" .

Haverá outra forma de resolver este problema?

Resolvi o problema usando a opção --lock-never , que impede o gpg de tentar bloquear o arquivo.




A opção pode ser desactivada acrescentando o prefixo "não".

--keyserver-options name=value1

Este é um espaço ou uma linha delimitada por vírgula que dá opções para o servidor de chaves.As opções podem ser prefixadas com um `não-' para dar o significado oposto.