/ / Criptografar senhas no arquivo config.properties - linux, bash, shell, centos, criptografia de senha

Criptografar senhas no arquivo config.properties - linux, bash, shell, centos, criptografia de senha

Estou executando um monte de scripts de shell que usamas propriedades no arquivo config.properties .. possui detalhes de conexão com o banco de dados, senhas .. etc., Eu só quero criptografar as senhas ... para que, quando alguém examinar o arquivo de propriedades, ele não possa usá-lo. Também não quero alterar as permissões do arquivo, quero que apenas as senhas sejam criptografadas

Eu sei que existem algumas maneiras ... como usar java ou usar qualquer algoritmo de criptografia, mas não quero usar java.

Estou executando os scripts de shell no CentOS. Os exemplos de scripts são os seguintes:

config.properties

    DatabaseHostName=test_host
DatabasePort=4898
DatabaseUserName=test_user
# MY DB Password here is visible.. I want to encrypt this
DatabasePassword=password123

script.sh

    #sourcing the above properties file here
source ./config.properties
export PGPASSWORD=${DatabasePassword}
psql -h ${DatabaseHostName} -p ${DatabasePort} ${DatabaseUserName} -c "select * from table_name;"

meus dois arquivos estão na mesma pasta

Respostas:

1 para resposta № 1

Aqui está o problema, seja qual for a criptografia que você colocar no arquivo, você precisará ser capaz de reverter o script. Portanto, qualquer pessoa que possa ver o script pode descobrir como decodificar as senhas.


0 para resposta № 2

comando encrypt:

echo "hoge" | openssl rsautl -encrypt -inkey ~/.ssh/id_rsa > pass.rsa

comando decriptografar:

openssl rsautl -decrypt -inkey /root/.ssh/id_rsa -in pass.rsa

config modify:

DatabasePassword=S03EXE -> DatabasePassword=$(openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in pass.rsa)