Automatizar a importação de chave privada GPG (GnuPG)

Publicado por Vinicius Araujo Lopes (última atualização em 02/09/2019)

[ Hits: 416 ]

Homepage: www.viniciusalopes.com.br

Download install-gpgkey.sh




Este script foi criado para facilitar a importação da chave privada GPG em um computador com a distribuição Gnu/Linux Mazon Os, mas pode ser utilizado em qualquer sistema operacional. Simples como voar! ;)

O código fonte, bem como todas as instruções de uso estão disponibilizadas no meu repositório GitHub para quem quiser! :D

Repositório do código: https://github.com/Viniciusalopes/install-gpgkey

Utilizem com moderação!

Atenciosamente,
Vovolinux

  



Esconder código-fonte

#!/usr/bin/env bash
# Template orgulhosamente criado por (Shell-Base) tks SlackJeff
#-----------HEADER-------------------------------------------------------------|
#AUTOR
#  Vovolinux <suporte@vovolinux.com.br>
#
##DATA-DE-CRIAÇÃO
#  16/07/2019 ás 14:19 
#
#PROGRAMA
#  install-gpgkey
#
#PEQUENA-DESCRIÇÃO
#  Script para automatizar a instalação de chave gpg privada.
#
#LICENÇA
#  MIT
#
#HOMEPAGE
#  https://github.com/Viniciusalopes/install-gpgkey 
#
#CHANGELOG
#
#------------------------------------------------------------------------------|

# Interrompe a execução em caso de qualquer erro
set -e

#------- VÁRIAVEIS -------->

################################################################################
#   >>> CUIDADO!!! O SCRIPT PODE APAGAR O CONTEUDO DO DIRETÓRIO dir_gpg <<<    #
# Valor padrão:                                                                #
# dir_gpg='/root/.gnupg'                                                       #
dir_gpg='/root/.gnupg'                                                         #
#   >>> CUIDADO!!! O SCRIPT PODE APAGAR O CONTEUDO DO DIRETÓRIO dir_gpg <<<    #
################################################################################

### LEU AQUI EM CIMA??? ^^

#------- MENSAGENS -------->

msg_dir_existe='O diretório já existe!'
msg_arquivo_invalido='[ ERRO ] Arquivo inválido!'
msg_ate_breve='OK.\nAté breve!'

#----- FIM-MENSAGENS ------>

#----- FIM-VARIAVEIS ------>


#--------FUNÇÕES----------->
ajuda(){
cat << EOF
 
 INSTRUÇÕES:
    
    install-gpgkey <local-da-chave>/<arquivo.key>
        -> Importa uma chave privada gpg.

    install-gpgkey -h 
    install-gpgkey --help
        -> Ver esta ajuda.
  
EOF

}

# Checagem inicial e obtenção do caminho do arquivo com a chave
check()
{
    # Sem root não vai, amiguinho.
    [[ "$UID" -ne '0' ]] && { echo "Execute como root."; exit 1 ;}

    # Verificando se o local da chave foi passado
    if [[ ! -e "$chave" ]]; then
        echo -e "${msg_arquivo_invalido} (${chave})"
        ajuda
        exit 1 
    fi

    # Verificando se o diretório existe
    if [[ -d "${dir_gpg}" ]]; then 
        #dir_gpg já existe
        echo -e "${msg_dir_existe}"
        read -ep "Deseja REALMENTE excluir TODOS os arquivos em '${dir_gpg}' ? [s/N ]: " -n 1

        case "$REPLY" in
             s|S) certeza ;;
            *) sair  ;;
        esac
    fi
}

certeza()
{
    read -ep "Você tem CERTEZA ? [s/N ]: " -n 1

    case "$REPLY" in
        s|S) absoluta ;;
        *) sair  ;;
    esac
}

absoluta()
{
    read -ep "Você tem certeza ABSOLUTA ? [s/N ]: " -n 1

    case "$REPLY" in
        s|S) instalar ;;
        *) sair  ;;
    esac

}

instalar()
{
    echo -e 'Então tá. E lá vamos nós...'
    rm -rfv $dir_gpg/*
    if ! [[ -d "${dir_gpg}" ]]; then 
        mkdir -v /root/.gnupg      # cria o dir_gpg
    fi
    
   # Instala
    echo 'Criando o arquivo '
    echo 'pinentry-mode loopback' >> ${dir_gpg}/gpg.conf
    gpg --import $chave
    echo -e 'Importação concluída!'
    sair
}

sair()
{
    echo -e "${msg_ate_breve}"
    exit 0
}
#-------------------------->

# Programa começa aqui :)

case $1 in
    -h|--help) 
        ajuda 
        exit 0
    ;;
    
    *)
        chave="${1}"
        check
        inicius
    ;;
esac
exit 0

Scripts recomendados

Listar o número de arquivos de um diretório

Postando no Twitter

Script para instalar e configurar o samba no Damn Small Linux

Script de Ping Simples

Download em série com o AXEL


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts