chave GPG do usuário não pode ser usada pelo SUDO

4

Eu criei um script que executa a duplicidade para fazer backup dos arquivos que tenho em um VPS e usa uma chave GPG gerada como um usuário.

Quando tento e executo esse script como SUDO, obtenho:

GPGError: GPG Failed, see log below:
===== Begin GnuPG log =====
gpg: C7B2Y6DO: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found ===== End GnuPG log =====

Agora eu percebo porque isso é (porque não é a chave do SUDO, é a chave do usuário), mas antes de eu ir e gerar novamente uma chave para o SUDO é possível ter o sudo usando a chave do usuário?

Não é realmente importante, mas o script é baseado em uma combinação desses três sites: link

link

link

    
por BassKozz 07.02.2010 / 01:49

5 respostas

5

Solução: Adicionado o seguinte ao script bash:

HOME=/home/user/

Fin

    
por 07.02.2010 / 19:57
4

Já experimentou a opção --homedir ?

    
por 07.02.2010 / 03:28
3

Eu acredito que a configuração padrão do sudo é preservar o $ HOME. Portanto, se você efetuou login como user1 e usou sudo scriptname , onde scriptname fez echo $HOME , você deve esperar ver "/ home / user1" ecoado de volta, não "/ root".

Eu vou assumir que o BassKozz não mudou isso. Talvez ele não esteja logado como seu usuário desejado, rodando o script como sudo. Talvez ele esteja apenas executando o script como root, por exemplo, através do cronjob do root. Nesse caso, seu $ HOME nunca teria sido / home / user1 em primeiro lugar, por isso, mesmo que o sudo preserve o valor de $ HOME, isso não está ajudando. Nesse caso, qualquer uma das outras respostas que informam como definir $ HOME para o valor correto ou para informar o gpg onde seu homedir está deve funcionar.

Se, no entanto, é verdade, como ele diz que ele não pode sequer executar seu script de duplicidade "como sudo" --- ou seja, quando logado como user1 e digitando sudo duplicity_script , então o problema não será um $ HOME errado definido. Como vimos, o $ HOME deve, nesse caso, ter o valor correto. Então o problema é outra coisa. Eu não ouvi o suficiente, e não sei duplicidade + gpg bem o suficiente, para especular o que poderia ser.

    
por 16.02.2010 / 04:32
1

Se você usar a opção "--preserve-env" para sudo, então o GPG na sessão sudo poderá encontrar o agente gpg sendo executado na sessão nativa.

Exemplo:

sudo - preserve-env YOUR_COMMAND ...

    
por 26.01.2015 / 03:04
0

Tem certeza de que pretende criptografar seus backups com uma chave gpg de usuários?

a menos que você tenha um backup separado da sua chave gpg (o que eu espero que você faça), você não poderá descriptografar qualquer um dos backups se você perdeu o conteúdo do seu diretório pessoal.

    
por 07.02.2010 / 22:08