Você pode usar o chaveiro do kernel (e, em particular, o comando keyctl
) para armazenar seus dados de maneira segura.
O chaveiro do kernel tem granularidade suficiente para armazenar chaves que estão disponíveis para um usuário específico ou até mesmo para uma sessão específica (assim, se você estiver conectado usando SSH e no console ou usando SSH de duas máquinas diferentes, as sessões separados um do outro.)
Um exemplo de uso de exemplo é:
$ keyctl add user mypassword supersecret @s
543456789
O kernel armazenou uma chave chamada "mypassword", com valor "supersecret", somente na sessão ( @s
, considere também @u
para o chaveiro do usuário).
Você pode usar o comando padd
para ler stdin:
$ echo -n supersecret | keyctl padd user mypassword @s
543456789
Então, quando você precisar recuperá-lo:
$ keyctl print 543456789
supersecret
Se você quiser procurá-lo a partir de sua descrição ("mypassword"), você pode usar o comando search
para fazer isso:
$ keyctl search @s user mypassword
543456789
(E, em seguida, use o ID da chave para imprimi-lo usando keyctl print
.)
Há muito mais que o chaveiro pode fazer ... Se você quiser usá-lo, talvez comece lendo o página man do keyctl que pode dar uma boa idéia de quais operações são suportadas e de qual chaveiro usar.