Exportar senhas do gerenciador de senhas 'pass'

8

Estou usando o pass gerenciador de senhas há um ano ou mais, e é incrível, mas às vezes gosto para testar outros gerenciadores de senha e, em seguida, preciso das minhas senhas de volta.

Até agora eu os adicionei manualmente conforme necessário, mas se eu quiser migrar para outro gerenciador de senhas eu preciso de um script, porque eu não tenho paciência para fazer isso um por um, considerando que eu tem perto de cem (se não mais).

É possível? Já existe uma solução?

Eu pesquisei uma solução durante os últimos dois meses e não consegui encontrar uma em que "basta executar este script e exportar".

Existe tal script? Se não, o que ou onde devo procurar fazer um?

    
por greduan 28.11.2014 / 23:56

1 resposta

8

Você pode fazer isso se estiver executando gpg-agent (e sua frase-senha é carregada), fazendo um loop pelos arquivos em seu repositório de senhas e gravando-os em um arquivo separado.

Você precisa separar os diretórios principais do caminho ( $PASSWORD_STORE_DIR ) e da extensão .gpg de cada um dos arquivos nos subdiretórios, mas, por outro lado, é bastante simples:

#!/usr/bin/env bash
# export passwords to external file

shopt -s nullglob globstar
prefix=${PASSWORD_STORE_DIR:-$HOME/.password-store}

for file in "$prefix"/**/*.gpg; do                           
    file="${file/$prefix//}"
    printf "%s\n" "Name: ${file%.*}" >> exported_passes
    pass "${file%.*}" >> exported_passes
    printf "\n\n" >> exported_passes
done
    
por 29.11.2014 / 09:59