Posso excluir um chaveiro GPG especificado com --keyring enquanto o stream está sendo criptografado?

Posso excluir um chaveiro GPG especificado com --keyring enquanto o stream está sendo criptografado?

Eu tenho um projeto onde estou criptografando um stream assim:

some_command | gpg --keyring tempkeyring.gpg --recipient "person" --output filename.gpg --encrypt

Portanto, enquanto o fluxo estiver ocorrendo e a criptografia já tiver iniciado, será prejudicado o processo excluir o chaveiro usado atualmente? O chaveiro é temporário e é criado novamente sempre que o script é executado. Estou supondo que o kernel ainda permitirá que o sistema acesse o arquivo e, assim que o gpg terminar, ele liberará espaço. O gpg irá falhar ou terminará a criptografia perfeitamente?

Os sistemas operacionais são kernels Linux RHEL e CentOS 2.6+, se isso fizer diferença.

Responder1

Eu investiguei e, embora isso responda aos kernels do Linux, não inclui de forma alguma outros sistemas operacionais ou sistemas de arquivos.

gpg não se importa. Suspeito que trata isso como qualquer outra exclusão no sistema. Em ambientes *nix, quando você exclui um arquivo, você está realmente 'desvinculando' esse arquivo. Quando você remove todos os links para um arquivo, o sistema ENTÃO exclui o arquivo e libera espaço. O que os kernels do Linux (e do Unix, tenho certeza...) fazem é desvincular o arquivo, depois verificar se algum programa está usando esses arquivos e, se estiver, eles esperam até que o programa que o utiliza feche e então libera o espaço excluindo verdadeiramente o arquivo. Como o arquivo já foi desvinculado, ninguém mais poderá acessá-lo, mas o aplicativo atualmente aberto não terá problemas, desde que não tente acessar o arquivo pelo nome e apenas use o identificador atualmente aberto.

informação relacionada