私のimapとsmtpのパスワードは同じで、muttバージョンは統合smtp設定を使用します。
私はどのスクリプトにも私のパスワードを保存したくないし、pgp / openssl暗号化を使用したり、ウォレットパスワードマネージャを使用したくない。さらに私が望むものは次のとおりです。
- パスワードは一度だけ聞いてください
- imapとsmtpに同じパスワードを使用してください。 (同じmuttセッションでは再度尋ねません。)
これを達成するための最良の方法は何ですか?
私が思いついたソリューションは、次のような.muttrc設定ラインを使用します。
set imap_pass=`read -s -p 'mail-password : ' mailpass ; echo $mailpass`
set smtp_pass=$imap_pass
これは私の要件に適しています。私は最初にmuttに触れたので、より良い方法があるかどうかを知りたいです...
(...imap_passとsmtp_passを省略したように使用すると、muttはimap_passを求めるメッセージを表示し、何とかmuttがsmtpに同じものを使用するように促します。)
答え1
環境変数でパスワードを読むのは安全だとは思わないが、 *
私はAaron Toponceのアプローチが好きです(彼に功労を認める:https://p Three.org/2012/01/07/encrypted-mutt-imap-smtp-passwords/):
これにより、同じパスワードファイルで複数のアカウントを使用できます(ただし、はい、別のアカウントに同じパスを使用することはお勧めできません)。
ただ必需品(ガイドラインは上記のリンクを参照してください):
まず、~/.mutt/passwords ファイルを作成しました。ファイルはプレーンテキスト形式です。暗号化する前に内容を見てみましょう。
set imap_pass="password"
set smtp_pass="password"
次に、次のようにファイルを暗号化しました。
% 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
最後の2つのコマンドは、暗号化用に作成した一時ファイルがGNU Shredユーティリティを使用してディスクから安全に消去されていることを確認することです。これで、パスワードを含む暗号化されたバイナリデータファイルのみが必要です。残りは、起動時にそれを復号化するようにMuttを設定することです。 Muttrcでこれを簡単に設定できます。
source "gpg -d ~/.mutt/passwords.gpg |"
修正する:
*環境変数ではなくメモリにあります:
参照:Muttはパスワードをメモリのどこかに保存する必要があり、クエリできる設定を使用します。環境変数ではなく、ハイブリッドメモリです。パスワードは、パスワードにアクセスできる人なら誰でも利用できます。一般的なLinuxシステムでは、これはユーザーとして実行されるすべてのプログラムです。 sysctl kernel.yama.ptrace_scope = 1の場合、他のプログラムはメモリ自体にアクセスできません。ただし、攻撃者がユーザーとしてコードを実行できる場合(プログラムが破損しても可能です)、gpgを実行するとユーザーのパスワードを取得できます。