mutt, uma vez solicitada a senha, usada para imap e smtp

mutt, uma vez solicitada a senha, usada para imap e smtp

Minha senha para imap e smtp é a mesma e a versão mutt está usando configurações de smtp integradas.

Não quero armazenar minha senha em nenhum script, nem criptografá-la com pgp/openssl, nem usar gerenciadores de senhas de carteira. Além disso, quero exatamente:

  • ser solicitada apenas uma vez pela senha
  • mesma senha a ser usada para imap e smtp (para não ser solicitada novamente dentro da mesma sessão mutt)

Qual é a melhor maneira de conseguir isso?

Minha solução já planejada usa estas linhas de configuração .muttrc:

set imap_pass=`read -s -p 'mail-password : ' mailpass ; echo $mailpass`
set smtp_pass=$imap_pass

e está OK para minhas necessidades. Só porque sou novo no vira-lata, estou me perguntando se existe alguma maneira melhor ...

(... como usar imap_pass e smtp_pass omitidos, o que resultará na solicitação do mutt para imap_pass, e em convencer de alguma forma o mutt a usar o mesmo para smtp).

Responder1

embora eu não ache que seja seguro ler a senha em uma variável de ambiente, *
gosto do jeito de Aaron Toponce (créditos para ele:https://ptrês.org/2012/01/07/encrypted-mutt-imap-smtp-passwords/):

E dessa forma, você poderia usar várias contas com o mesmo arquivo de senha (mas, sim, não é recomendado usar o mesmo passe para contas diferentes)


Apenas o essencial(para explicação veja o link acima):

Primeiro, criei um arquivo ~/.mutt/passwords. O arquivo está em texto simples. Antes de criptografá-lo, aqui está seu conteúdo:

set imap_pass="password"
set smtp_pass="password"

Em seguida, criptografo esse arquivo com o seguinte comando:

% gpg -r [email protected] -e ~/.mutt/passwords
% ls ~/.mutt/passwords*
/home/user/.mutt/passwords /home/user/.mutt/passwords.gpg
% shred ~/.mutt/passwords
% rm ~/.mutt/passwords

Os dois últimos comandos servem para garantir que o arquivo temporário que você criou para criptografia seja apagado com segurança do disco usando o utilitário GNU Shred. Agora, você deve ter apenas um arquivo de dados binários criptografado que contém suas senhas. Tudo o que resta é configurar o Mutt para descriptografá-los na inicialização. Você pode configurar isso facilmente no seu Muttrc:

source "gpg -d ~/.mutt/passwords.gpg |"

atualizar:
* não está em uma variável de ambiente, está na memória:
quote:Mutt precisa armazenar a senha em algum lugar da memória e usa uma configuração que você pode consultar para isso. Não é uma variável de ambiente, é uma memória de vira-lata. Qualquer pessoa com acesso a ele pode obter essa senha. Em um sistema Linux padrão, são todos os programas executados pelo seu usuário. Com sysctl kernel.yama.ptrace_scope = 1 nenhum outro programa pode acessar a memória em si. Mas se um invasor puder executar código como seu usuário (o que ele poderá fazer se comprometer algum programa), ele poderá simplesmente obter a senha quando você executar o gpg.

informação relacionada